code wiki / _hdl_build / nx_amo_payload.nx

nx_amo_payload.nx

buildroot/runtime/_hdl_build/nx_amo_payload.nx

3946 B62 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind tool
docsdependenciesstructsconstsfunctions

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

nx_syscalls.nx nishi_hdl_primitives.nx nx_rv64_asm.nx nx_amo_payload.nx

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

main sys_mmap build sys_mmap ↻ ra_put ra_u ra_i ra_s amo_enc sys_openat_wr sys_write sys_close sys_exit

structs

none

consts

9const K_MAGIC_4096: i64 = 4096

functions

12func amo_enc(funct5: i64, rs2: i64, rs1: i64, funct3: i64, rd: i64) -> i64
called by 1: build
16func build(out: *u8) -> i64
48func main() -> i64