code wiki / _hdl_build / nx_signal_driver_t188.nx

nx_signal_driver_t188.nx source

↩ module page · 23 lines · 1672 B

1import "nx_ccbuild_lib.nx" 2import "nx_gate_verdict.nx" 3func sd188_show(path:*u8)->i64{ 4 let fd:i64=sys_openat_rd(path);if fd<0{return fd} 5 let b:*u8=sys_mmap(4096);var n:i64=sys_read(fd,b,4096) 6 while n>0{sys_write(1,b,n);n=sys_read(fd,b,4096)};sys_close(fd);return 0 7} 8func main()->i64{ 9 sys_chdir("/volume1/homes/elderwesto/nishihost/buildroot") 10 let c:*i64=gv_ctr();let env:*i64=sys_mmap(8) as *i64;env[0]=0 11 let err:i64=sys_openat_wr("knowledge/gates/signal-compiler-t188.log",MODE_0644) 12 let rc:i64=cb_build("_build/nx_compile_x86.sov.elf","runtime/_hdl_build/nx_signal_gate_t188.nx","_build/signal-t188.s","_build/signal-t188.elf",env,err,"_build/signal-t188.tmp","knowledge/gates/signal-asm-t188.log") 13 gv_check("chosen compiler builds signal gate",rc==0,c) 14 if rc==0{ 15 let run:i64=cb_run_capture("_build/signal-t188.elf","knowledge/gates/signal-run-t188.log",env,err) 16 sd188_show("knowledge/gates/signal-run-t188.log");gv_check("native signal gate passes",run==0,c) 17 } 18 let owner:i64=cb_build("_build/nx_compile_x86.sov.elf","runtime/nx_signal.nx","_build/signal-owner-t188.s","_build/signal-owner-t188.elf",env,err,"_build/signal-owner-t188.tmp","knowledge/gates/signal-owner-asm-t188.log") 19 gv_check("selected compiler builds existing signal owner",owner==0,c) 20 if owner==0{let rr:i64=cb_run_capture("_build/signal-owner-t188.elf","knowledge/gates/signal-owner-run-t188.log",env,err);sd188_show("knowledge/gates/signal-owner-run-t188.log");gv_check("existing signal owner corrected selftest passes",rr==0,c)} 21 sys_close(err);sd188_show("knowledge/gates/signal-compiler-t188.log") 22 return gv_verdict("chosen-signal-compiler",c,"Private compiler and gate only") 23}