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:
+12
-3
@@ -1,4 +1,5 @@
|
||||
#include <utsm/log.h>
|
||||
#include <utsm/panic.h>
|
||||
#include <utsm/arena.h>
|
||||
#include <utsm/utsm.h>
|
||||
#include <utsm/drr.h>
|
||||
@@ -427,14 +428,22 @@ void kernel_main(void) {
|
||||
if (g_compat_linux_lib_sync) {
|
||||
int lsrc = lxc_sync_lib_dir(g_compat_linux_guest_path);
|
||||
if (lsrc == 0) log_info("[UTSM] lib sync ok");
|
||||
else log_warn("[UTSM] lib sync skipped (non-fatal)");
|
||||
else {
|
||||
/* 严格错误策略插桩:lib 同步失败零降级(LNX-E01) */
|
||||
panic_full("LNX-E01 LIB SYNC FAILED",
|
||||
"FAT32 lib dir sync to Linux guest failed", 0);
|
||||
}
|
||||
}
|
||||
/* VSCode Phase 5: tarball module 存在时装到 guest /opt/vscode
|
||||
* (已安装则秒跳过;失败不阻断启动,桌面降级显示未安装) */
|
||||
* (已安装则秒跳过;失败零降级 panic) */
|
||||
if (g_compat_vscode_install) {
|
||||
int vsrc = lxc_vscode_install();
|
||||
if (vsrc == 0) log_info("[UTSM] vscode ready");
|
||||
else log_warn("[UTSM] vscode install skipped (non-fatal)");
|
||||
else {
|
||||
/* 严格错误策略插桩:VSCode 安装失败零降级(LNX-E02) */
|
||||
panic_full("LNX-E02 VSCODE INSTALL FAILED",
|
||||
"vscode tarball install into guest failed", 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
log_error("[UTSM] Linux launch failed");
|
||||
|
||||
+12
-10
@@ -1,17 +1,19 @@
|
||||
kernel/main.o: kernel\main.c include\utsm\log.h include\utsm\types.h \
|
||||
include\utsm\arena.h include\utsm\utsm.h include\utsm\status.h \
|
||||
include\utsm\config.h include\utsm\uuid.h include\utsm\process.h \
|
||||
include\utsm\capability.h include\utsm\segment.h include\utsm\dirty.h \
|
||||
include\utsm\utrw.h include\utsm\vmm.h include\utsm\linux_loader.h \
|
||||
include\utsm\ipc_shm.h ..\utsm-ipc\ipc_proto.h \
|
||||
include\utsm\hypercall.h include\utsm\drr.h include\utsm\sched_ext.h \
|
||||
include\utsm\sched.h include\utsm\dkm.h include\utsm\dma.h \
|
||||
include\utsm\block.h include\utsm\net.h include\utsm\paging.h \
|
||||
include\utsm\idt.h include\utsm\dsk.h include\utsm\linux_compat.h \
|
||||
include\utsm\xj380_loader.h include\utsm\instr.h kernel\ini_parser.h \
|
||||
include\utsm\panic.h include\utsm\arena.h include\utsm\utsm.h \
|
||||
include\utsm\status.h include\utsm\config.h include\utsm\uuid.h \
|
||||
include\utsm\process.h include\utsm\capability.h \
|
||||
include\utsm\segment.h include\utsm\dirty.h include\utsm\utrw.h \
|
||||
include\utsm\vmm.h include\utsm\linux_loader.h include\utsm\ipc_shm.h \
|
||||
..\utsm-ipc\ipc_proto.h include\utsm\hypercall.h include\utsm\drr.h \
|
||||
include\utsm\sched_ext.h include\utsm\sched.h include\utsm\dkm.h \
|
||||
include\utsm\dma.h include\utsm\block.h include\utsm\net.h \
|
||||
include\utsm\paging.h include\utsm\idt.h include\utsm\dsk.h \
|
||||
include\utsm\linux_compat.h include\utsm\xj380_loader.h \
|
||||
include\utsm\instr.h kernel\ini_parser.h \
|
||||
kernel\..\arch\x86_64\limine.h kernel\..\pe\pe_dll_manager.h
|
||||
include\utsm\log.h:
|
||||
include\utsm\types.h:
|
||||
include\utsm\panic.h:
|
||||
include\utsm\arena.h:
|
||||
include\utsm\utsm.h:
|
||||
include\utsm\status.h:
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user