This commit is contained in:
Linehu
2026-08-29 18:47:54 +08:00
parent 880906edc9
commit cc0fcf26e3
49 changed files with 3705 additions and 3385 deletions
+14 -34
View File
@@ -1,29 +1,26 @@
# Deshab Kernel Configuration (DEV - QEMU 测试)
# dev_mode=1 自动跑 shell.elf 测试序列, 调试全开, QEMU 验证选项
# Deshab Kernel Configuration (REALTEST - 实机开发测试)
# 基于 dev 配置, 启用磁盘日志持久化
# 启动时把完整日志写入磁盘 LBA 2-1000 扇区, 事后用 WinHex/dd 读取
# 路径: SYSTEM/system/deshab64/FUCK
# UTSM 通过 Limine boot module 预加载读取(cmdline="fuck:config")
# DSK 通过 FAT32 子目录遍历读取(路径 "SYSTEM /DESHAB64 /FUCK ")
# 缺失或空的键使用硬编码默认值,行为与无配置文件时一致
[boot]
vmm=1
linux_guest=1
# OpenXJ380 第二 guest(需 SYSTEM/boot/xj380.krl 存在,limine.conf 取消注释)
# 启动后 host 挂起直至 XJ380 guest 终止;无模块时优雅跳过
xj380_guest=1
vmm=0
linux_guest=0
# OpenXJ380 第二 guest:realtest 默认关闭(vmm=0 时天然不执行)
xj380_guest=0
selftest=1
dev_mode=1
# QEMU 不需要真机安全检测
# 真机安全检查全部放宽(和 dev 一样),排除安全检查导致黑屏
la57_guard=0
mcfg_check=0
max_phys_addr_bits=0
# 实机启动日志持久化:把启动日志写入磁盘原始扇区(开发测试用)
# 启用后启动时把内存日志缓冲区写到指定扇区区间
# 事后用 WinHex/dd 读取对应扇区即可查看完整启动日志
# 注意: 写入 LBA 1-33 会覆盖 GPT, 测试盘建议从 34 开始或测试后重新烧录
# 实机启动日志持久化: 启用, 把启动日志写入 FAT32 文件
# SYSTEM/DESHAB64/DEV/BOOTLOG.TXT (DEV 缺失时回退根目录 BOOTLOG.TXT)
# 主机直接读取该文件即可, 不覆盖 GPT, 可反复烧录测试
disk_log=1
disk_log_start=2
disk_log_end=1000
[drivers]
timer=1
@@ -33,6 +30,9 @@ pci=1
console_fb=1
ahci=1
nvme=1
ehci=1
# xhci=1: xhci 驱动已修复无控制器时不再 halt,恢复启用
xhci=1
bootfs=1
vfs=1
fat32=1
@@ -43,18 +43,9 @@ ath9k=0
ps2kbd=1
ioapic_init=1
lapic_enable=1
# B7: APIC 路由接管开关 (apic.drv 自解析, 缺失=0)
# 0=保持 8259 PIC 路由 (默认, 现状不回归)
# 1=IOAPIC->LAPIC 接管: 注册 LAPIC EOI 钩子 + PIC IMR 全屏蔽 + TPR=0
# + tick 链路自验 (vector 0x20, 失败自动完整降级回 PIC 并注销钩子)
apic_route=1
# B7 阶段2: 随 apic_route=1 额外放开 legacy IRQ1(键盘)/12(鼠标)/11(e1000)
# QEMU 全链路已验证 (B1 向导按键/B2 启动/e1000 IRQ11)
apic_route_legacy=1
# B7 阶段3: NVMe MSI/MSI-X 中断驱动开关 (nvme.drv 自解析, 缺失=1)
nvme_msi=1
# B7 诊断 (apic.drv): 1=启用 HPET 绝对时基对拍 + IRQ12 鼠标流观察窗
# 常规构建保持 0
apic_diag=0
[utsm]
@@ -75,17 +66,11 @@ mouse_init=1
netman=1
[debug]
# 全局插桩开关 (0=禁用,零开销; 1=启用所有 INSTR_* 宏)
enabled=1
# 日志级别阈值 (0=TRACE, 1=DEBUG, 2=INFO, 3=WARN, 4=ERROR, 5=SILENT)
log_level=1
# 探测缓冲开关 (0=禁用; 1=启用 INSTR_PROBE 写入环形缓冲)
probe_enable=1
# 探测缓冲容量 (条目数,每条 40 字节,默认 4096 条 ≈ 160KB)
probe_capacity=4096
# 统计摘要间隔 (每 N 次增量输出一次摘要)
stat_summary_interval=256
# 模块级过滤: 1=启用该模块的 TRACE/DEBUG 级别日志
utsm_trace=1
vmm_trace=1
dkm_trace=1
@@ -95,12 +80,7 @@ net_trace=0
input_trace=1
[compat]
# 兼容层动态链接库搜索路径配置
# lib_path: FAT32 根目录下存放 .dll/.so 的子目录名
lib_path=lib
# linux_lib_guest_path: Linux guest 内库目录路径
linux_lib_guest_path=/usr/lib/deshab
# linux_lib_sync: 启动时推送 .so 到 Linux guest (0=关闭, 1=开启)
linux_lib_sync=1
# pe_dll_search: PE shim miss 后从 SYSTEM/lib 加载真实 DLL (0=关闭, 1=开启)
pe_dll_search=1