code wiki / (root) / nx_emulator_research_fetch.nx

nx_emulator_research_fetch.nx source

↩ module page · 50 lines · 3738 B

1// nx_emulator_research_fetch.nx -- bank the EMULATOR/VIRTUALIZATION field (operator: "make sure we also have SOTA 2// alternatives to QEMU"). Grounds where the sovereign rv64im_min_sim stands vs the SOTA landscape: microVMs 3// (Firecracker/Cloud-Hypervisor/crosvm/gVisor), hypervisors (KVM/Xen/VMware/VirtualBox), full emulators (QEMU/Bochs/ 4// Unicorn), RISC-V ISA + system sims (Spike/Renode), RTL sim (Verilator), and WASM runtimes (Wasmtime) -- so a 5// sovereign QEMU-alternative is built knowingly. Sovereign TLS; idempotent. expect_exit:0 ORIGINAL 6import "nx_research_engine.nx" 7const K_MAGIC_8388608: i64 = 8388608 8 9func F(u: *u8, o: *u8, store: *TrustStore, out: *u8, cap: i64) -> i64 { return rf_fetch_bank(u, o, store, out, cap) } 10 11func main() -> i64 { 12 let store: *TrustStore = rf_init() 13 if (store as i64) == 0 { rf_puts("emulator: trust store load failed\n" as *u8); return 1 } 14 rf_puts("CA roots="); rf_putn(trust_store_count(store)); rf_puts(" -- EMULATOR/VIRTUALIZATION field (QEMU alternatives) -> Library\n" as *u8) 15 let cap: i64 = K_MAGIC_8388608 16 let out: *u8 = sys_mmap(cap) 17 var ok: i64 = 0 18 19 rf_section("FULL-SYSTEM EMULATORS -- QEMU and its peers (dynamic binary translation)" as *u8) 20 ok = ok + F("https://en.wikipedia.org/wiki/QEMU" as *u8, "em_qemu" as *u8, store, out, cap) 21 ok = ok + F("https://en.wikipedia.org/wiki/Bochs" as *u8, "em_bochs" as *u8, store, out, cap) 22 ok = ok + F("https://en.wikipedia.org/wiki/Emulator" as *u8, "em_emulator" as *u8, store, out, cap) 23 ok = ok + F("https://en.wikipedia.org/wiki/Binary_translation" as *u8, "em_bintrans" as *u8, store, out, cap) 24 25 rf_section("MICROVMs -- Firecracker/Cloud-Hypervisor/crosvm/gVisor (the modern minimal-VMM SOTA)" as *u8) 26 ok = ok + F("https://en.wikipedia.org/wiki/Firecracker_(software)" as *u8, "em_firecracker" as *u8, store, out, cap) 27 ok = ok + F("https://en.wikipedia.org/wiki/GVisor" as *u8, "em_gvisor" as *u8, store, out, cap) 28 ok = ok + F("https://en.wikipedia.org/wiki/Virtual_machine" as *u8, "em_vm" as *u8, store, out, cap) 29 30 rf_section("HYPERVISORS -- KVM/Xen/VMware/VirtualBox (hardware-assisted virtualization)" as *u8) 31 ok = ok + F("https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine" as *u8, "em_kvm" as *u8, store, out, cap) 32 ok = ok + F("https://en.wikipedia.org/wiki/Xen" as *u8, "em_xen" as *u8, store, out, cap) 33 ok = ok + F("https://en.wikipedia.org/wiki/Hypervisor" as *u8, "em_hypervisor" as *u8, store, out, cap) 34 ok = ok + F("https://en.wikipedia.org/wiki/Hardware-assisted_virtualization" as *u8, "em_hwvirt" as *u8, store, out, cap) 35 36 rf_section("ISA + SYSTEM SIMULATORS -- Spike (RISC-V golden model), Renode, Unicorn" as *u8) 37 ok = ok + F("https://en.wikipedia.org/wiki/Instruction_set_simulator" as *u8, "em_iss" as *u8, store, out, cap) 38 ok = ok + F("https://en.wikipedia.org/wiki/RISC-V" as *u8, "em_riscv" as *u8, store, out, cap) 39 ok = ok + F("https://en.wikipedia.org/wiki/Gem5" as *u8, "em_gem5" as *u8, store, out, cap) 40 41 rf_section("RTL SIMULATION -- Verilator (cycle-accurate hardware sim, the fidelity ceiling)" as *u8) 42 ok = ok + F("https://en.wikipedia.org/wiki/Verilator" as *u8, "em_verilator" as *u8, store, out, cap) 43 ok = ok + F("https://en.wikipedia.org/wiki/Logic_simulation" as *u8, "em_logicsim" as *u8, store, out, cap) 44 45 rf_section("WASM RUNTIMES -- Wasmtime/WebAssembly (the sandboxed portable-execution alternative)" as *u8) 46 ok = ok + F("https://en.wikipedia.org/wiki/WebAssembly" as *u8, "em_wasm" as *u8, store, out, cap) 47 48 rf_puts("EMULATOR FIELD BANKED: "); rf_putn(ok); rf_puts(" / 18 -- QEMU + microVMs + hypervisors + ISA/RTL sims + WASM RESEARCHED\n" as *u8) 49 return 0 50}