Commit b83d10214b

Alex Rønne Petersen <alex@alexrp.com>
2024-06-22 14:54:03
std.Thread: Implement LinuxThreadImpl.ThreadCompletion.freeAndExit() for riscv32.
1 parent b958225
Changed files (1)
lib
lib/std/Thread.zig
@@ -1171,6 +1171,19 @@ const LinuxThreadImpl = struct {
                       [len] "r" (self.mapped.len),
                     : "memory"
                 ),
+                .riscv32 => asm volatile (
+                    \\  li a7, 215
+                    \\  mv a0, %[ptr]
+                    \\  mv a1, %[len]
+                    \\  ecall
+                    \\  li a7, 93
+                    \\  mv a0, zero
+                    \\  ecall
+                    :
+                    : [ptr] "r" (@intFromPtr(self.mapped.ptr)),
+                      [len] "r" (self.mapped.len),
+                    : "memory"
+                ),
                 .riscv64 => asm volatile (
                     \\  li a7, 215
                     \\  mv a0, %[ptr]