Skip to content

Commit 0abe2ab

Browse files
committed
use core::arch::global_asm
1 parent 1091528 commit 0abe2ab

File tree

62 files changed

+949
-104
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+949
-104
lines changed
File renamed without changes.
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
.text
2+
.attribute 4, 16
3+
.attribute 5, "rv32i2p0"
4+
.file "zk0t2u2b1an050m"
5+
6+
.section .init,"ax",@progbits
7+
.globl _start
8+
9+
_start:
10+
11+
lui ra, %hi(_abs_start)
12+
jalr zero, %lo(_abs_start)(ra)
13+
14+
_abs_start:
15+
.cfi_startproc
16+
.cfi_undefined ra
17+
csrwi mie, 0
18+
csrwi mip, 0
19+
li ra, 0
20+
li sp, 0
21+
li gp, 0
22+
li tp, 0
23+
li t0, 0
24+
li t1, 0
25+
li t2, 0
26+
li s0, 0
27+
li s1, 0
28+
li a3, 0
29+
li a4, 0
30+
li a5, 0
31+
li a6, 0
32+
li a7, 0
33+
li s2, 0
34+
li s3, 0
35+
li s4, 0
36+
li s5, 0
37+
li s6, 0
38+
li s7, 0
39+
li s8, 0
40+
li s9, 0
41+
li s10, 0
42+
li s11, 0
43+
li t3, 0
44+
li t4, 0
45+
li t5, 0
46+
li t6, 0
47+
48+
.option push
49+
50+
.option norelax
51+
52+
.Lpcrel_hi0:
53+
auipc gp, %pcrel_hi(__global_pointer$)
54+
addi gp, gp, %pcrel_lo(.Lpcrel_hi0)
55+
.option pop
56+
57+
csrr t2, mhartid
58+
lui t0, %hi(_max_hart_id)
59+
addi t0, t0, %lo(_max_hart_id)
60+
bltu t0, t2, abort
61+
62+
.Lpcrel_hi1:
63+
auipc sp, %pcrel_hi(_stack_start)
64+
addi sp, sp, %pcrel_lo(.Lpcrel_hi1)
65+
lui t0, %hi(_hart_stack_size)
66+
addi t0, t0, %lo(_hart_stack_size)
67+
beqz t2, .Ltmp0
68+
mv t1, t2
69+
mv t3, t0
70+
.Ltmp1:
71+
add t0, t0, t3
72+
addi t1, t1, -1
73+
bnez t1, .Ltmp1
74+
.Ltmp0:
75+
sub sp, sp, t0
76+
add s0, sp, zero
77+
j _start_rust
78+
79+
.cfi_endproc
80+
.section .trap,"ax",@progbits
81+
.globl default_start_trap
82+
default_start_trap:
83+
addi sp, sp, -64
84+
sw ra, 0(sp)
85+
sw t0, 4(sp)
86+
sw t1, 8(sp)
87+
sw t2, 12(sp)
88+
sw t3, 16(sp)
89+
sw t4, 20(sp)
90+
sw t5, 24(sp)
91+
sw t6, 28(sp)
92+
sw a0, 32(sp)
93+
sw a1, 36(sp)
94+
sw a2, 40(sp)
95+
sw a3, 44(sp)
96+
sw a4, 48(sp)
97+
sw a5, 52(sp)
98+
sw a6, 56(sp)
99+
sw a7, 60(sp)
100+
mv a0, sp
101+
jal _start_trap_rust
102+
lw ra, 0(sp)
103+
lw t0, 4(sp)
104+
lw t1, 8(sp)
105+
lw t2, 12(sp)
106+
lw t3, 16(sp)
107+
lw t4, 20(sp)
108+
lw t5, 24(sp)
109+
lw t6, 28(sp)
110+
lw a0, 32(sp)
111+
lw a1, 36(sp)
112+
lw a2, 40(sp)
113+
lw a3, 44(sp)
114+
lw a4, 48(sp)
115+
lw a5, 52(sp)
116+
lw a6, 56(sp)
117+
lw a7, 60(sp)
118+
addi sp, sp, 64
119+
mret
120+
.section .text.abort,"ax",@progbits
121+
.globl abort
122+
abort:
123+
j abort
Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
.text
2+
.attribute 4, 16
3+
.attribute 5, "rv32i2p0"
4+
.file "eaqpawb8fun9h0d"
5+
6+
.section .init,"ax",@progbits
7+
.globl _start
8+
9+
_start:
10+
11+
lui ra, %hi(_abs_start)
12+
jalr zero, %lo(_abs_start)(ra)
13+
14+
_abs_start:
15+
.cfi_startproc
16+
.cfi_undefined ra
17+
csrwi sie, 0
18+
csrwi sip, 0
19+
li ra, 0
20+
li sp, 0
21+
li gp, 0
22+
li tp, 0
23+
li t0, 0
24+
li t1, 0
25+
li t2, 0
26+
li s0, 0
27+
li s1, 0
28+
li a3, 0
29+
li a4, 0
30+
li a5, 0
31+
li a6, 0
32+
li a7, 0
33+
li s2, 0
34+
li s3, 0
35+
li s4, 0
36+
li s5, 0
37+
li s6, 0
38+
li s7, 0
39+
li s8, 0
40+
li s9, 0
41+
li s10, 0
42+
li s11, 0
43+
li t3, 0
44+
li t4, 0
45+
li t5, 0
46+
li t6, 0
47+
48+
.option push
49+
50+
.option norelax
51+
52+
.Lpcrel_hi0:
53+
auipc gp, %pcrel_hi(__global_pointer$)
54+
addi gp, gp, %pcrel_lo(.Lpcrel_hi0)
55+
.option pop
56+
57+
mv t2, a0
58+
lui t0, %hi(_max_hart_id)
59+
addi t0, t0, %lo(_max_hart_id)
60+
bltu t0, t2, abort
61+
62+
.Lpcrel_hi1:
63+
auipc sp, %pcrel_hi(_stack_start)
64+
addi sp, sp, %pcrel_lo(.Lpcrel_hi1)
65+
lui t0, %hi(_hart_stack_size)
66+
addi t0, t0, %lo(_hart_stack_size)
67+
beqz t2, .Ltmp0
68+
mv t1, t2
69+
mv t3, t0
70+
.Ltmp1:
71+
add t0, t0, t3
72+
addi t1, t1, -1
73+
bnez t1, .Ltmp1
74+
.Ltmp0:
75+
sub sp, sp, t0
76+
add s0, sp, zero
77+
j _start_rust
78+
79+
.cfi_endproc
80+
.section .trap,"ax",@progbits
81+
.globl default_start_trap
82+
default_start_trap:
83+
addi sp, sp, -64
84+
sw ra, 0(sp)
85+
sw t0, 4(sp)
86+
sw t1, 8(sp)
87+
sw t2, 12(sp)
88+
sw t3, 16(sp)
89+
sw t4, 20(sp)
90+
sw t5, 24(sp)
91+
sw t6, 28(sp)
92+
sw a0, 32(sp)
93+
sw a1, 36(sp)
94+
sw a2, 40(sp)
95+
sw a3, 44(sp)
96+
sw a4, 48(sp)
97+
sw a5, 52(sp)
98+
sw a6, 56(sp)
99+
sw a7, 60(sp)
100+
mv a0, sp
101+
jal _start_trap_rust
102+
lw ra, 0(sp)
103+
lw t0, 4(sp)
104+
lw t1, 8(sp)
105+
lw t2, 12(sp)
106+
lw t3, 16(sp)
107+
lw t4, 20(sp)
108+
lw t5, 24(sp)
109+
lw t6, 28(sp)
110+
lw a0, 32(sp)
111+
lw a1, 36(sp)
112+
lw a2, 40(sp)
113+
lw a3, 44(sp)
114+
lw a4, 48(sp)
115+
lw a5, 52(sp)
116+
lw a6, 56(sp)
117+
lw a7, 60(sp)
118+
addi sp, sp, 64
119+
sret
120+
.section .text.abort,"ax",@progbits
121+
.globl abort
122+
abort:
123+
j abort
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
.text
2+
.attribute 4, 16
3+
.attribute 5, "rv32i2p0_m2p0_a2p0_c2p0"
4+
.file "3wdx7lxc78dgym21"
5+
6+
.section .init,"ax",@progbits
7+
.globl _start
8+
9+
_start:
10+
11+
lui ra, %hi(_abs_start)
12+
jalr zero, %lo(_abs_start)(ra)
13+
14+
_abs_start:
15+
.cfi_startproc
16+
.cfi_undefined ra
17+
csrwi mie, 0
18+
csrwi mip, 0
19+
li ra, 0
20+
li sp, 0
21+
li gp, 0
22+
li tp, 0
23+
li t0, 0
24+
li t1, 0
25+
li t2, 0
26+
li s0, 0
27+
li s1, 0
28+
li a3, 0
29+
li a4, 0
30+
li a5, 0
31+
li a6, 0
32+
li a7, 0
33+
li s2, 0
34+
li s3, 0
35+
li s4, 0
36+
li s5, 0
37+
li s6, 0
38+
li s7, 0
39+
li s8, 0
40+
li s9, 0
41+
li s10, 0
42+
li s11, 0
43+
li t3, 0
44+
li t4, 0
45+
li t5, 0
46+
li t6, 0
47+
48+
.option push
49+
50+
.option norelax
51+
52+
.Lpcrel_hi0:
53+
auipc gp, %pcrel_hi(__global_pointer$)
54+
addi gp, gp, %pcrel_lo(.Lpcrel_hi0)
55+
.option pop
56+
57+
csrr t2, mhartid
58+
lui t0, %hi(_max_hart_id)
59+
addi t0, t0, %lo(_max_hart_id)
60+
bltu t0, t2, abort
61+
62+
.Lpcrel_hi1:
63+
auipc sp, %pcrel_hi(_stack_start)
64+
addi sp, sp, %pcrel_lo(.Lpcrel_hi1)
65+
lui t0, %hi(_hart_stack_size)
66+
addi t0, t0, %lo(_hart_stack_size)
67+
mul t0, t2, t0
68+
sub sp, sp, t0
69+
mv s0, sp
70+
j _start_rust
71+
72+
.cfi_endproc
73+
.section .trap,"ax",@progbits
74+
.globl default_start_trap
75+
default_start_trap:
76+
addi sp, sp, -64
77+
sw ra, 0(sp)
78+
sw t0, 4(sp)
79+
sw t1, 8(sp)
80+
sw t2, 12(sp)
81+
sw t3, 16(sp)
82+
sw t4, 20(sp)
83+
sw t5, 24(sp)
84+
sw t6, 28(sp)
85+
sw a0, 32(sp)
86+
sw a1, 36(sp)
87+
sw a2, 40(sp)
88+
sw a3, 44(sp)
89+
sw a4, 48(sp)
90+
sw a5, 52(sp)
91+
sw a6, 56(sp)
92+
sw a7, 60(sp)
93+
mv a0, sp
94+
jal _start_trap_rust
95+
lw ra, 0(sp)
96+
lw t0, 4(sp)
97+
lw t1, 8(sp)
98+
lw t2, 12(sp)
99+
lw t3, 16(sp)
100+
lw t4, 20(sp)
101+
lw t5, 24(sp)
102+
lw t6, 28(sp)
103+
lw a0, 32(sp)
104+
lw a1, 36(sp)
105+
lw a2, 40(sp)
106+
lw a3, 44(sp)
107+
lw a4, 48(sp)
108+
lw a5, 52(sp)
109+
lw a6, 56(sp)
110+
lw a7, 60(sp)
111+
addi sp, sp, 64
112+
mret
113+
.section .text.abort,"ax",@progbits
114+
.globl abort
115+
abort:
116+
j abort

0 commit comments

Comments
 (0)