fn mainIdleEntry() callconv(.naked) void
fn mainIdleEntry() callconv(.naked) void { switch (builtin.cpu.arch) { .aarch64 => asm volatile ( \\ mov x0, fp \\ mov fp, #0 \\ b %[mainIdle] : : [mainIdle] "X" (&mainIdle), ), .riscv64 => asm volatile ( \\ mv a0, fp \\ mv fp, zero \\ tail %[mainIdle]@plt : : [mainIdle] "X" (&mainIdle), ), .x86_64 => asm volatile ( \\ movq %%rbp, %%rdi \\ xor %%ebp, %%ebp \\ jmp %[mainIdle:P] : : [mainIdle] "X" (&mainIdle), ), else => |arch| @compileError("unimplemented architecture: " ++ @tagName(arch)), } }