code wiki / _hdl_build / nx_driver_exceed.nx
nx_driver_exceed.nx
buildroot/runtime/_hdl_build/nx_driver_exceed.nx
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
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
structs
| none |
consts
| 23 | const DX_MAGIC_65536: i64 = 65536 |
| 24 | const DX_MAGIC_262144: i64 = 262144 |
| 26 | const DX_BLK_BIN: *u8 = "runtime/_hdl_build/_drv_proto_blk.bin" |
| 27 | const DX_BLK_SPEC: *u8 = "knowledge/specs/drv_proto_blk_virt.spec" |
| 28 | const DX_BIND_LOG: *u8 = "knowledge/status/driver_bind.log" |
| 29 | const DX_PANEL: *u8 = "knowledge/registry/driver_exceed_panel.tsv" |
| 30 | const DX_LOG: *u8 = "knowledge/status/driver_exceed.log" |
functions
| 32 | func 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 } |
| 33 | func 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 } |
| 34 | func 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 } |
| 36 | func dx_read(path: *u8, buf: *u8, cap: i64) -> i64 |
| 47 | func dx_count(buf: *u8, n: i64, pat: *u8, pl: i64) -> i64 |
| 58 | func dx_has(buf: *u8, n: i64, pat: *u8, pl: i64) -> i64 { if dx_count(buf,n,pat,pl) > 0 { return 1 } return 0 } |
| 61 | func dx_count_ops(buf: *u8, n: i64) -> i64 called by 1: main |
| 75 | func main() -> i64 |