nx_etg_probe_cpu.nx
buildroot/runtime/nx_etg_probe_cpu.nx
about
nx_etg_probe_cpu.nx -- E3 first real CPU-tier ETG probe.
Bridges the pre-existing nx_calibrate.nx CPU measurements (SA-2
shipped) into the ETG framework (E1 NxEtgEntry attestation + E2
tournament selector). First REAL silicon probe in the substrate.
Two surfaces:
1. nx_etg_classify_outcome(claim, measured, low_thresh_per_1000,
high_thresh_per_1000) -> i64
Universal classifier: given a vendor CLAIM value and an
empirical MEASURED value, classifies the outcome per the
11-value NX_ETG_OUTCOME_* taxonomy. Used by every per-tier
probe (CPU / GPU / NVMe / network). Permilles (per-1000)
keep the math integer.
2. nx_etg_probe_cpu_syscall_roundtrip(claim_ns, low_thresh_per_1000,
high_thresh_per_1000, entry,
silicon_serial, selector_version,
timestamp_q14) -> i64
Runs nx_calibrate_run, extracts the syscall_ns_clock_gettime
measurement, classifies vs claim, emits an NxEtgEntry. Returns
the outcome (or negative on error).
Composes:
[[NISHI_ETG_ROADMAP]] E3 (this is the first real probe)
nx_etg.nx (E1 NxEtgEntry attestation; SHIPPED)
nx_calibrate.nx (SA-2 CPU calibration; SHIPPED) -- the EMPIRICAL
MEASUREMENT layer this probe wraps in ETG semantics
[[NISHI_SELF_ASSEMBLY_ROADMAP]] SA-2 (prior art being lifted up)
[[feedback-physical-truth-over-published-docs-silicon-empirical-gamification]]
(cardinal: vendor claim is HYPOTHESIS, calibration measurement
is TRUTH; classifier records which side told the truth)
Outcome classification rules:
measured == 0 || claim == 0 => INCONCLUSIVE (no comparison possible)
measured > claim * (1 + high/1000) => FALSIFIED (silicon worse than claimed)
measured < claim * (1 - low/1000) => VENDOR_LIED_OMISSION (better than claimed)
otherwise => CONFIRMED (within tolerance)
dependencies 3 imports · 1 importers
imports: nx_syscalls.nxnx_calibrate.nxnx_etg.nx
imported by: nx_etg_probe_cpu_test.nx
structs
| none |
consts
| none |
functions
| 70 | func nx_etg_classify_outcome( |
| 100 | func nx_etg_probe_cpu_syscall_roundtrip( |
| 146 | func nx_etg_probe_cpu_int_alu( |
| 190 | func nx_etg_probe_cpu_mem_bw( |
| 236 | func nx_etg_probe_cpu_cache_l1( |
| 270 | func nx_etg_probe_cpu_cache_l2( |
| 304 | func nx_etg_probe_cpu_cache_ram( |