code wiki / _hdl_build / nx_driver_exceed.nx

nx_driver_exceed.nx

buildroot/runtime/_hdl_build/nx_driver_exceed.nx

9364 B142 linesdepth 2pulls 2 transitivereach 0 importersview sourcekind tooltopic driver
docsdependenciesstructsconstsfunctions

about

nx_driver_exceed.nx -- DRIVER-EXCEEDS-LINUX measured panel (X-DRV-W3), the no-overclaim "stomp". AUTHOR=ORGAN, NO-WAVE: COMPUTES every panel value from REAL Nishi artifacts (never asserted), and is HONEST about what is NOT apples-to-apples measurable. The Nishi emitted virtio-blk driver is compared head-to-head with the generic Linux virtio-blk driver on the axes a flat artifact can be MEASURED on: - standalone-driver-bytes : stat the emitted image (_drv_proto_blk.bin) -- the COMPLETE driver that brings the device up + does one I/O, needing NO kernel/libc/loader (it is a raw rv64 image: first bytes are NOT the ELF magic). Linux's virtio-blk driver is kernel-resident C (not a standalone bring-up artifact). => WIN on minimal auditable TCB. - driver-logic-form : the driver IS a DATA op-list spec, RE-TARGETABLE with zero recompiles (X-DRV-W2 brought up N devices from registry rows, the emitter binary untouched). Linux is hand-written C, a recompiled .ko per driver. => WIN on retargetable-as-data. - firmware-blob-freedom : the driver spec references ZERO firmware/blob files. virtio-blk on Linux is ALSO blob-free (paravirtual). => TIE (honest -- not a win for virtio). - throughput / latency : NOT apples-to-apples measurable -- the Nishi driver runs on the sovereign rv64 emu; there is no common substrate with a real Linux driver. => OPEN, NOT CLAIMED (the no-overclaim discipline; a perf substrate is a separate future rung). Authors knowledge/registry/driver_exceed_panel.tsv + logs DRVEXCEED -> driver_exceed.log. Sovereign (syscalls only, no gcc/.sh). license_tier: ORIGINAL

dependencies 1 imports · 0 importers

nx_syscalls.nx nx_driver_exceed.nx

imports: nx_syscalls.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main dx_p sys_write sys_mmap dx_read sys_openat_rd sys_read sys_close dx_count_ops dx_count dx_has dx_count ↻ sys_openat_append dx_fp sys_write ↻ sys_close ↻ sys_exit sys_openat_wr dx_fn sys_mmap ↻ sys_write ↻ sys_now_realtime_sec sys_mmap ↻ sys_clock_gettime_real

structs

none

consts

23const DX_MAGIC_65536: i64 = 65536
24const DX_MAGIC_262144: i64 = 262144
26const DX_BLK_BIN: *u8 = "runtime/_hdl_build/_drv_proto_blk.bin"
27const DX_BLK_SPEC: *u8 = "knowledge/specs/drv_proto_blk_virt.spec"
28const DX_BIND_LOG: *u8 = "knowledge/status/driver_bind.log"
29const DX_PANEL: *u8 = "knowledge/registry/driver_exceed_panel.tsv"
30const DX_LOG: *u8 = "knowledge/status/driver_exceed.log"

functions

32func dx_p(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 1: main calls 1: sys_write
33func dx_fp(fd: i64, s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(fd,s,n); return 0 }
called by 1: main calls 1: sys_write
34func dx_fn(fd: i64, v: i64) -> i64 { let bb: *u8=sys_mmap(28); var m: i64=v; if m<0{m=0-m}; let t: *u8=sys_mmap(28); var k: i64=0; if m==0{t[0]=48;k=1}; while m>0{t[k]=(48+(m%10)) as u8;m=m/10;k=k+1}; var i: i64=0; while i<k{bb[i]=t[k-1-i];i=i+1}; sys_write(fd,bb,k); return 0 }
called by 1: main calls 2: sys_mmapsys_write
36func dx_read(path: *u8, buf: *u8, cap: i64) -> i64
called by 1: main calls 3: sys_openat_rdsys_readsys_close
47func dx_count(buf: *u8, n: i64, pat: *u8, pl: i64) -> i64
called by 2: dx_hasmain
58func dx_has(buf: *u8, n: i64, pat: *u8, pl: i64) -> i64 { if dx_count(buf,n,pat,pl) > 0 { return 1 } return 0 }
called by 1: main calls 1: dx_count
61func dx_count_ops(buf: *u8, n: i64) -> i64
called by 1: main
75func main() -> i64