feat: SKEL skeleton instrumentation - designed-but-unimplemented paths panic
- hypercall.c: 5 Phase 1.3 stubs -> HCALL-E01..E05 panic (no NOSYS return) - drr_stub.c: snapshot alloc fail -> DRR-E01; new skeletons DRR-E02 root key seal, DRR-E03 task kill crypto erase, DRR-E04/E05 segment/system rollback, DRR-E06/E07 driver recovery ops dispatch - sched.c: enable fail -> SCH-E02 panic (no silent demo skip) - dkm/kernel_api.c: D1 hot-unload DKM-E01, D2 bare code loader DKM-E02, SIPI AP wake DKM-E03 skeletons - virtio_net tx/rx stubs -> VNET-E01/E02; ath9k tx stub -> ATH-E01; xhci port reset -> XHC-E01; nvme MSI/MSI-X fail -> NVME-E01..E03 (no silent polling downgrade); e1000 MAC fallback -> E1K-E01 - pe_shim unimpl API -> PE-E01; PE ordinal import -> PE-E02 - kernel/main.c: lib sync / vscode install fail -> LNX-E01/E02 - NEW brand/brand.c (E1 boot anim BRAND-E01, E2 time egg BRAND-E02) and pkg/pkg.c (pacman skeleton PKG-E01..03), wired into UTSM MAKEFILE - Deliberate design-internal fallbacks kept and documented (VMX skip, bzImage skip, KDE fallback, boot-module fallback, apic->PIC route)
This commit is contained in:
@@ -775,19 +775,21 @@ static void virtio_net_selftest(void) {
|
||||
log_hex("[virtio_net] selftest rx frames seen=", frames);
|
||||
}
|
||||
|
||||
/* ================= stub(初始化失败时的安全占位,与历史行为一致) ================= */
|
||||
/* ================= stub(初始化失败时的安全占位) =================
|
||||
* 严格错误策略插桩:占位不再静默丢包/静默无数据——一旦被上层调用
|
||||
* (即有人真的把流量交给未协商 virtqueue 的设备),立即莲花 panic。
|
||||
* 正常路径 netman 因 flags 缺 LINK_UP 不会选中本驱动,stub 不触发。 */
|
||||
|
||||
static int virtio_net_tx_stub(void *ctx, const void *packet, u32 length) {
|
||||
(void)ctx;
|
||||
(void)packet;
|
||||
log_hex("[virtio_net] tx stub: packet dropped, len=", length);
|
||||
(void)ctx; (void)packet;
|
||||
log_hex("[virtio_net] tx stub hit, len=", length);
|
||||
g_log->panic("VNET-E01 TX VIRTQUEUE NOT IMPLEMENTED (stub tx called)");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int virtio_net_rx_poll_stub(void *ctx, void *buffer, u32 capacity, u32 *out_length) {
|
||||
(void)ctx;
|
||||
(void)buffer;
|
||||
(void)capacity;
|
||||
(void)ctx; (void)buffer; (void)capacity;
|
||||
g_log->panic("VNET-E02 RX VIRTQUEUE NOT IMPLEMENTED (stub rx called)");
|
||||
if (out_length) *out_length = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user