| ... | @@ -198,13 +198,16 @@ fn _start() callconv(.Naked) noreturn { | ... | @@ -198,13 +198,16 @@ fn _start() callconv(.Naked) noreturn { |
| 198 | ); | 198 | ); |
| 199 | }, | 199 | }, |
| 200 | .powerpc => { | 200 | .powerpc => { |
| | 201 | // Setup the initial stack frame and clear the back chain pointer. |
| 201 | argc_argv_ptr = asm volatile ( | 202 | argc_argv_ptr = asm volatile ( |
| 202 | \\ mr 3, 1 | 203 | \\ mr 4, 1 |
| 203 | \\ li 0, 0 | 204 | \\ li 0, 0 |
| | 205 | \\ stwu 1,-16(1) |
| | 206 | \\ stw 0, 0(1) |
| 204 | \\ mtlr 0 | 207 | \\ mtlr 0 |
| 205 | : [argc] "={r3}" (-> [*]usize) | 208 | : [argc] "={r4}" (-> [*]usize) |
| 206 | : | 209 | : |
| 207 | : "r0", "r3" | 210 | : "r0" |
| 208 | ); | 211 | ); |
| 209 | }, | 212 | }, |
| 210 | .powerpc64le => { | 213 | .powerpc64le => { |