code wiki / _hdl_build / nx_amo_payload.nx
nx_amo_payload.nx
buildroot/runtime/_hdl_build/nx_amo_payload.nx
about
nx_amo_payload.nx -- emit a bare-metal RV64IA test payload (.bin) that exercises the A-extension
(amoadd/amoswap/amoxor/amoand .d, with signed operands) by threading a byte through a scratch
word and writing each amo's OLD value to the 16550 UART -- the emitted stream spells "ATOMIC".
Run the SAME .bin on the sovereign emulator AND real qemu-system-riscv64 -M virt: identical
output = EXTERNAL-ORACLE proof of the atomics (mirrors the 72-byte boot-payload evidence).
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnishi_hdl_primitives.nxnx_rv64_asm.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 9 | const K_MAGIC_4096: i64 = 4096 |
functions
| 12 | func amo_enc(funct5: i64, rs2: i64, rs1: i64, funct3: i64, rd: i64) -> i64 called by 1: build |
| 16 | func build(out: *u8) -> i64 |
| 48 | func main() -> i64 |