| ... | @@ -71,6 +71,7 @@ const current_variant: Variant = switch (native_arch) { | ... | @@ -71,6 +71,7 @@ const current_variant: Variant = switch (native_arch) { |
| 71 | .arm, | 71 | .arm, |
| 72 | .armeb, | 72 | .armeb, |
| 73 | .csky, | 73 | .csky, |
| | 74 | .hppa, |
| 74 | .microblaze, | 75 | .microblaze, |
| 75 | .microblazeel, | 76 | .microblazeel, |
| 76 | .sh, | 77 | .sh, |
| ... | @@ -144,6 +145,7 @@ const AbiTcb = switch (current_variant) { | ... | @@ -144,6 +145,7 @@ const AbiTcb = switch (current_variant) { |
| 144 | .alpha, | 145 | .alpha, |
| 145 | .arm, | 146 | .arm, |
| 146 | .armeb, | 147 | .armeb, |
| | 148 | .hppa, |
| 147 | .microblaze, | 149 | .microblaze, |
| 148 | .microblazeel, | 150 | .microblazeel, |
| 149 | .sh, | 151 | .sh, |
| ... | @@ -285,6 +287,13 @@ pub fn setThreadPointer(addr: usize) void { | ... | @@ -285,6 +287,13 @@ pub fn setThreadPointer(addr: usize) void { |
| 285 | : [addr] "r" (addr), | 287 | : [addr] "r" (addr), |
| 286 | ); | 288 | ); |
| 287 | }, | 289 | }, |
| | 290 | .hppa => { |
| | 291 | asm volatile ( |
| | 292 | \\ ble 0xe0(%%sr2, %%r0) |
| | 293 | : |
| | 294 | : [addr] "={r26}" (addr), |
| | 295 | : .{ .r29 = true }); |
| | 296 | }, |
| 288 | .loongarch32, .loongarch64 => { | 297 | .loongarch32, .loongarch64 => { |
| 289 | asm volatile ( | 298 | asm volatile ( |
| 290 | \\ move $tp, %[addr] | 299 | \\ move $tp, %[addr] |