authorgravatar for koachan@protonmail.comKoakuma <koachan@protonmail.com> 2020-08-22 16:27:08+07:00
committergravatar for koachan@protonmail.comKoakuma <koachan@protonmail.com> 2020-10-24 19:59:05+07:00
log23433fb3172597b10d57d9dda49fcd0d13950fb4
treedaeca6f301b3e91f075c067c1e54e67d3d3692f4
parent206f96d474cb24cd8c00721b7ade96633b6b239f

Fix register naming


2 files changed, 44 insertions(+), 46 deletions(-)

lib/std/os/bits/linux/sparc64.zig-2
...@@ -546,8 +546,6 @@ pub const timezone = extern struct {...@@ -546,8 +546,6 @@ pub const timezone = extern struct {
546546
547pub const Elf_Symndx = u32;547pub const Elf_Symndx = u32;
548548
549// TODO figure out how to do these on sparc64.
550
551pub const fpstate = extern struct {549pub const fpstate = extern struct {
552 regs: [32]u64,550 regs: [32]u64,
553 fsr: u64,551 fsr: u64,
lib/std/os/linux/sparc64.zig+44-44
...@@ -15,9 +15,9 @@ pub fn syscall0(number: SYS) usize {...@@ -15,9 +15,9 @@ pub fn syscall0(number: SYS) usize {
15 \\ bcc %%xcc, 1f15 \\ bcc %%xcc, 1f
16 \\ neg %%o016 \\ neg %%o0
17 \\ 1:17 \\ 1:
18 : [ret] "={%o0}" (-> usize)18 : [ret] "={o0}" (-> usize)
19 : [number] "{%g1}" (@enumToInt(number))19 : [number] "{g1}" (@enumToInt(number))
20 : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"20 : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
21 );21 );
22}22}
2323
...@@ -27,10 +27,10 @@ pub fn syscall1(number: SYS, arg1: usize) usize {...@@ -27,10 +27,10 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
27 \\ bcc %%xcc, 1f27 \\ bcc %%xcc, 1f
28 \\ neg %%o028 \\ neg %%o0
29 \\ 1:29 \\ 1:
30 : [ret] "={%o0}" (-> usize)30 : [ret] "={o0}" (-> usize)
31 : [number] "{%g1}" (@enumToInt(number)),31 : [number] "{g1}" (@enumToInt(number)),
32 [arg1] "{%o0}" (arg1)32 [arg1] "{o0}" (arg1)
33 : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"33 : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
34 );34 );
35}35}
3636
...@@ -40,11 +40,11 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {...@@ -40,11 +40,11 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
40 \\ bcc %%xcc, 1f40 \\ bcc %%xcc, 1f
41 \\ neg %%o041 \\ neg %%o0
42 \\ 1:42 \\ 1:
43 : [ret] "={%o0}" (-> usize)43 : [ret] "={o0}" (-> usize)
44 : [number] "{%g1}" (@enumToInt(number)),44 : [number] "{g1}" (@enumToInt(number)),
45 [arg1] "{%o0}" (arg1),45 [arg1] "{o0}" (arg1),
46 [arg2] "{%o1}" (arg2)46 [arg2] "{o1}" (arg2)
47 : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"47 : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
48 );48 );
49}49}
5050
...@@ -54,12 +54,12 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {...@@ -54,12 +54,12 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
54 \\ bcc %%xcc, 1f54 \\ bcc %%xcc, 1f
55 \\ neg %%o055 \\ neg %%o0
56 \\ 1:56 \\ 1:
57 : [ret] "={%o0}" (-> usize)57 : [ret] "={o0}" (-> usize)
58 : [number] "{%g1}" (@enumToInt(number)),58 : [number] "{g1}" (@enumToInt(number)),
59 [arg1] "{%o0}" (arg1),59 [arg1] "{o0}" (arg1),
60 [arg2] "{%o1}" (arg2),60 [arg2] "{o1}" (arg2),
61 [arg3] "{%o2}" (arg3)61 [arg3] "{o2}" (arg3)
62 : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"62 : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
63 );63 );
64}64}
6565
...@@ -69,13 +69,13 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)...@@ -69,13 +69,13 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
69 \\ bcc %%xcc, 1f69 \\ bcc %%xcc, 1f
70 \\ neg %%o070 \\ neg %%o0
71 \\ 1:71 \\ 1:
72 : [ret] "={%o0}" (-> usize)72 : [ret] "={o0}" (-> usize)
73 : [number] "{%g1}" (@enumToInt(number)),73 : [number] "{g1}" (@enumToInt(number)),
74 [arg1] "{%o0}" (arg1),74 [arg1] "{o0}" (arg1),
75 [arg2] "{%o1}" (arg2),75 [arg2] "{o1}" (arg2),
76 [arg3] "{%o2}" (arg3),76 [arg3] "{o2}" (arg3),
77 [arg4] "{%o3}" (arg4)77 [arg4] "{o3}" (arg4)
78 : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"78 : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
79 );79 );
80}80}
8181
...@@ -85,14 +85,14 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,...@@ -85,14 +85,14 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
85 \\ bcc %%xcc, 1f85 \\ bcc %%xcc, 1f
86 \\ neg %%o086 \\ neg %%o0
87 \\ 1:87 \\ 1:
88 : [ret] "={%o0}" (-> usize)88 : [ret] "={o0}" (-> usize)
89 : [number] "{%g1}" (@enumToInt(number)),89 : [number] "{g1}" (@enumToInt(number)),
90 [arg1] "{%o0}" (arg1),90 [arg1] "{o0}" (arg1),
91 [arg2] "{%o1}" (arg2),91 [arg2] "{o1}" (arg2),
92 [arg3] "{%o2}" (arg3),92 [arg3] "{o2}" (arg3),
93 [arg4] "{%o3}" (arg4),93 [arg4] "{o3}" (arg4),
94 [arg5] "{%o4}" (arg5),94 [arg5] "{o4}" (arg5),
95 : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"95 : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
96 );96 );
97}97}
9898
...@@ -110,15 +110,15 @@ pub fn syscall6(...@@ -110,15 +110,15 @@ pub fn syscall6(
110 \\ bcc %%xcc, 1f110 \\ bcc %%xcc, 1f
111 \\ neg %%o0111 \\ neg %%o0
112 \\ 1:112 \\ 1:
113 : [ret] "={%o0}" (-> usize)113 : [ret] "={o0}" (-> usize)
114 : [number] "{%g1}" (@enumToInt(number)),114 : [number] "{g1}" (@enumToInt(number)),
115 [arg1] "{%o0}" (arg1),115 [arg1] "{o0}" (arg1),
116 [arg2] "{%o1}" (arg2),116 [arg2] "{o1}" (arg2),
117 [arg3] "{%o2}" (arg3),117 [arg3] "{o2}" (arg3),
118 [arg4] "{%o3}" (arg4),118 [arg4] "{o3}" (arg4),
119 [arg5] "{%o4}" (arg5),119 [arg5] "{o4}" (arg5),
120 [arg6] "{%o5}" (arg6),120 [arg6] "{o5}" (arg6),
121 : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"121 : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
122 );122 );
123}123}
124124
...@@ -130,7 +130,7 @@ pub const restore = restore_rt;...@@ -130,7 +130,7 @@ pub const restore = restore_rt;
130pub fn restore_rt() callconv(.Naked) void {130pub fn restore_rt() callconv(.Naked) void {
131 return asm volatile ("t 0x6d"131 return asm volatile ("t 0x6d"
132 :132 :
133 : [number] "{%g1}" (@enumToInt(SYS.rt_sigreturn))133 : [number] "{g1}" (@enumToInt(SYS.rt_sigreturn))
134 : "memory", "%o0", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"134 : "memory", "o0", "o1", "o2", "o3", "o4", "o5", "o7"
135 );135 );
136}136}