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:
@@ -177,3 +177,33 @@ void dkm_fill_platform_info(void) {
|
||||
/* D3: 按名导出表挂入 kernel_api(尾部追加,ABI 兼容) */
|
||||
g_kernel_api.kapi = &g_kapi_table;
|
||||
}
|
||||
|
||||
/* ===================================================================
|
||||
* 严格错误策略插桩:设计已定但未实现的 DKM 能力,建立代码骨架,
|
||||
* 调用即莲花 panic(DKM-E 系列)。当前无调用方(骨架)。
|
||||
* =================================================================== */
|
||||
|
||||
/* D1: DKM 驱动热卸载(引用计数)。driver_desc 已有 NO_UNLOAD 标志位,
|
||||
* 但卸载路径本身(refcount + driver_exit + 段回收)未实现。 */
|
||||
void dkm_unload_driver(u32 driver_index) {
|
||||
(void)driver_index;
|
||||
panic_full("DKM-E01 DRIVER HOT UNLOAD NOT IMPLEMENTED",
|
||||
"refcount unload path: designed (D1), not implemented", 0);
|
||||
}
|
||||
|
||||
/* D2: 裸机器码加载器(无 ELF 头,直接映射 .text blob 到可执行页跳转)。
|
||||
* SAS-R0 单地址空间下合法;加载器未实现。 */
|
||||
void *dkm_load_bare_code(const void *blob, u64 size) {
|
||||
(void)blob; (void)size;
|
||||
panic_full("DKM-E02 BARE CODE LOADER NOT IMPLEMENTED",
|
||||
"headerless machine-code loader: designed (D2), not implemented", 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 多核:SIPI 唤醒 AP(apic.drv 注释预留)。BSP-only 是当前既定边界,
|
||||
* 一旦被调用即 panic 而非静默单核继续。 */
|
||||
void dkm_sipi_wake_ap(u32 lapic_id, u64 entry_eip) {
|
||||
(void)lapic_id; (void)entry_eip;
|
||||
panic_full("DKM-E03 SIPI AP WAKE NOT IMPLEMENTED",
|
||||
"AP startup framework: designed, not implemented (BSP-only)", 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user