feat: exhaustive STUB instrumentation - 241 panic sites across VMM/kernel + whitelist alignment

- VMM cluster: XJ3-E/LIN-E/VMM-E/VMX-E/EPT-E/IPC-E/VVB-E (124 sites)

- kernel cluster: TST-E/MM-E/UTRW-E/LAPIC-E/IDT-E/SAS-E/PRB-E/NETST-E/DKM-E (117 sites)

- whitelist fixes: vmm_init env probes E10-E14 fallback, disk_log read-only block path, DSL-E05 non-FAT32 device 0 probe

- QEMU smoke: wizard -> USER.CONF -> login -> desktop ready, zero spurious panic
This commit is contained in:
Linehu
2026-10-03 21:26:04 +08:00
parent 506d1b18c6
commit 174af71b39
62 changed files with 667 additions and 36 deletions
+3
View File
@@ -3,6 +3,7 @@
#include <utsm/pckc.h>
#include <utsm/crypto.h>
#include <utsm/log.h>
#include <utsm/panic.h>
void *memcpy(void *dst, const void *src, usize len);
@@ -66,6 +67,8 @@ int utrw_debug_dump_page(u32 segment_slot, u64 page_index, u64 offset_in_page) {
int st = utsm_pckc_get_or_derive(segment_slot, desc, &key);
if (st != UTSM_OK) {
log_warn("[UTRW] dump: key derive failed");
panic_full("UTRW-E10 DUMP KEY DERIVE FAILED",
"utrw_debug_dump_page: PCKC key derivation failed", 0);
return st;
}
u64 dump_line = (page_off + offset_in_page) / UTSM_CACHE_LINE_SIZE;
+3 -1
View File
@@ -1,7 +1,8 @@
utrw/debug.o: utrw\debug.c include\utsm\utrw.h include\utsm\types.h \
include\utsm\status.h include\utsm\capability.h include\utsm\segment.h \
include\utsm\uuid.h include\utsm\dirty.h include\utsm\pckc.h \
include\utsm\config.h include\utsm\crypto.h include\utsm\log.h
include\utsm\config.h include\utsm\crypto.h include\utsm\log.h \
include\utsm\panic.h
include\utsm\utrw.h:
include\utsm\types.h:
include\utsm\status.h:
@@ -13,3 +14,4 @@ include\utsm\pckc.h:
include\utsm\config.h:
include\utsm\crypto.h:
include\utsm\log.h:
include\utsm\panic.h:
+3
View File
@@ -3,6 +3,7 @@
#include <utsm/pckc.h>
#include <utsm/drr.h>
#include <utsm/log.h>
#include <utsm/panic.h>
/* ===================================================================
* U2: UTRW Slow Path 真分支
@@ -53,6 +54,8 @@ int utsm_slow_path(utsm_capability cap, u32 rights, u64 offset, u64 len,
st = utsm_pckc_get_or_derive(cap.segment_slot, desc, &key);
if (st != UTSM_OK) {
log_warn("[UTRW] slow: KEY_MISS re-derive failed");
panic_full("UTRW-E01 KEY_MISS RE-DERIVE FAILED",
"utsm_slow_path: KEY_MISS key re-derivation failed", 0);
return st;
}
log_warn("[UTRW] slow: KEY_MISS -> key re-derived (retry)");
+2 -1
View File
@@ -2,7 +2,7 @@ utrw/slow_path.o: utrw\slow_path.c include\utsm\utrw.h \
include\utsm\types.h include\utsm\status.h include\utsm\capability.h \
include\utsm\segment.h include\utsm\uuid.h include\utsm\dirty.h \
include\utsm\pckc.h include\utsm\config.h include\utsm\crypto.h \
include\utsm\drr.h include\utsm\log.h
include\utsm\drr.h include\utsm\log.h include\utsm\panic.h
include\utsm\utrw.h:
include\utsm\types.h:
include\utsm\status.h:
@@ -15,3 +15,4 @@ include\utsm\config.h:
include\utsm\crypto.h:
include\utsm\drr.h:
include\utsm\log.h:
include\utsm\panic.h:
Binary file not shown.