code wiki / (root) / nx_emu_mips64_main.nx

nx_emu_mips64_main.nx source

↩ module page · 16 lines · 617 B

1// nx_emu_mips64_main.nx -- CLI for NX-EMU mips64: load + run a static MIPS64 2// ELF. Usage: nx_emu_mips64 <prog.elf> (exit = guest exit). Nishi CARRIES 3// mips64 on its own interpreter -- NO qemu (qemu = benchmark). license_tier: ORIGINAL 4 5import "nx_emu_mips64.nx" 6import "nx_syscalls_x86_64.nx" 7 8func main(argc: i64, argv: *i64) -> i64 { 9 if argc < 2 { return 200 } 10 let path: *u8 = argv[1] as *u8 11 let lenbox: *i64 = sys_mmap(16) as *i64 12 let buf: *u8 = sys_read_file_x86_64(path, lenbox) 13 if (buf as i64) == 0 { return 201 } 14 let r: i64 = emu_mips64_load_elf(buf, lenbox[0]) 15 return r 16}