This commit is contained in:
Linehu
2026-08-09 22:20:01 +08:00
parent 8717ea8f20
commit 2a50fa58c7
185 changed files with 19890 additions and 710 deletions
+106
View File
@@ -0,0 +1,106 @@
# Deshab Kernel Configuration (DEV - QEMU 测试)
# dev_mode=1 自动跑 shell.elf 测试序列, 调试全开, QEMU 验证选项
# 路径: 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
selftest=1
dev_mode=1
# QEMU 不需要真机安全检测
la57_guard=0
mcfg_check=0
max_phys_addr_bits=0
# 实机启动日志持久化:把启动日志写入磁盘原始扇区(开发测试用)
# 启用后启动时把内存日志缓冲区写到指定扇区区间
# 事后用 WinHex/dd 读取对应扇区即可查看完整启动日志
# 注意: 写入 LBA 1-33 会覆盖 GPT, 测试盘建议从 34 开始或测试后重新烧录
disk_log=1
disk_log_start=2
disk_log_end=1000
[drivers]
timer=1
apic=1
acpi=1
pci=1
console_fb=1
ahci=1
nvme=1
bootfs=1
vfs=1
fat32=1
devfs=1
e1000=1
virtio_net=1
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]
max_segments=1024
max_capabilities=256
max_pckc_keys=8
dirty_shard_pages=1024
arena_size_mb=64
drr_emergency_pool_kb=64
drr_recovery_log_size=4096
drr_heartbeat_interval=0
[dsk]
show_logo=1
skip_login=1
default_shell=cmd
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
dsk_trace=1
block_trace=1
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
+2
View File
@@ -0,0 +1,2 @@
1
1
+84
View File
@@ -0,0 +1,84 @@
# 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=0
linux_guest=0
# OpenXJ380 第二 guest:realtest 默认关闭(vmm=0 时天然不执行)
xj380_guest=0
selftest=1
dev_mode=1
# 真机安全检查全部放宽(和 dev 一样),排除安全检查导致黑屏
la57_guard=0
mcfg_check=0
max_phys_addr_bits=0
# 实机启动日志持久化: 启用, 把启动日志写入磁盘原始扇区
disk_log=1
disk_log_start=2
disk_log_end=1000
[drivers]
timer=1
apic=1
acpi=1
pci=1
console_fb=1
ahci=1
nvme=1
xhci=0
bootfs=1
vfs=1
fat32=1
devfs=1
e1000=1
virtio_net=1
ath9k=0
ps2kbd=1
ioapic_init=1
lapic_enable=1
apic_route=1
apic_route_legacy=1
nvme_msi=1
apic_diag=0
[utsm]
max_segments=1024
max_capabilities=256
max_pckc_keys=8
dirty_shard_pages=1024
arena_size_mb=64
drr_emergency_pool_kb=64
drr_recovery_log_size=4096
drr_heartbeat_interval=0
[dsk]
show_logo=1
skip_login=1
default_shell=cmd
mouse_init=1
netman=1
[debug]
enabled=1
log_level=1
probe_enable=1
probe_capacity=4096
stat_summary_interval=256
utsm_trace=1
vmm_trace=1
dkm_trace=1
dsk_trace=1
block_trace=1
net_trace=0
input_trace=1
[compat]
lib_path=lib
linux_lib_guest_path=/usr/lib/deshab
linux_lib_sync=1
pe_dll_search=1
+1
View File
@@ -0,0 +1 @@
1
+112
View File
@@ -0,0 +1,112 @@
# Deshab Kernel Configuration (RELEASE - 实机测试)
# dev_mode=0 直接进桌面, 要求登录, 调试零开销, 真机安全选项全开
# 路径: 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 取消注释)
xj380_guest=1
selftest=1
dev_mode=0
# 真机安全: LA57 检测 (0=不检测, 1=检测并警告, 2=检测并拒绝启动)
# 真机若 BIOS 启用 5 级分页, 设 2 可阻止启动避免数据损坏
la57_guard=2
# 真机安全: PCIe MCFG 检测 (0=不检测, 1=检测并记录)
mcfg_check=1
# 真机安全: 允许的最大物理地址宽度 (超过则拒绝启动, 0=不限制)
# 典型值: 46 (QEMU), 48 (多数实机), 52 (服务器)
max_phys_addr_bits=48
# 实机启动日志持久化(开发测试用, release 默认关闭)
# 启用: disk_log=1, 事后用 WinHex/dd 读取对应扇区查看启动日志
# 注意: 写入 LBA 1-33 会覆盖 GPT, 建议从 34 开始
disk_log=0
disk_log_start=2
disk_log_end=1000
[drivers]
timer=1
apic=1
acpi=1
pci=1
console_fb=1
ahci=1
nvme=1
bootfs=1
vfs=1
fat32=1
devfs=1
e1000=1
virtio_net=1
ath9k=0
ps2kbd=1
# 真机安全: 禁用不稳定的真机特性
# ioapic_init=0 可禁用 IOAPIC 重定向表编程 (留 PIC 模式)
ioapic_init=1
# lapic_enable=0 可禁用 LAPIC software enable (留 firmware 状态)
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)
# 真机冒烟前回 0, 避免 legacy IRQ 持续投递在非常规 IOAPIC 拓扑下出问题
apic_route_legacy=0
# B7 阶段3: NVMe MSI/MSI-X 中断驱动开关 (nvme.drv 自解析, 缺失=1)
nvme_msi=1
# B7 诊断 (apic.drv): 1=启用 HPET 绝对时基对拍 + IRQ12 鼠标流观察窗
# 常规构建保持 0
apic_diag=0
[utsm]
max_segments=1024
max_capabilities=256
max_pckc_keys=8
dirty_shard_pages=1024
arena_size_mb=64
drr_emergency_pool_kb=64
drr_recovery_log_size=4096
drr_heartbeat_interval=0
[dsk]
show_logo=1
# release: 要求登录, 验证 USER.CONF 解密链路
skip_login=0
default_shell=cmd
mouse_init=1
netman=1
[debug]
# 全局插桩开关 (release 零开销)
enabled=0
# 日志级别阈值 (0=TRACE, 1=DEBUG, 2=INFO, 3=WARN, 4=ERROR, 5=SILENT)
log_level=3
# 探测缓冲开关 (release 关闭省内存)
probe_enable=0
# 探测缓冲容量 (条目数,每条 40 字节,默认 4096 条 ≈ 160KB)
probe_capacity=4096
# 统计摘要间隔 (每 N 次增量输出一次摘要)
stat_summary_interval=256
# 模块级过滤: release 全关
utsm_trace=0
vmm_trace=0
dkm_trace=0
dsk_trace=0
block_trace=0
net_trace=0
input_trace=0
[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
+2
View File
@@ -0,0 +1,2 @@
1
0