fix(gdt): TSS64 描述符 granularity 编码 limit 高 4 位

原写法硬编码 0x00,丢弃 limit[19:16],当前 limit=103 侥幸正确,
改为 (limit >> 16) & 0x0F 以消除隐患。
This commit is contained in:
TermiNexus committed 2026-10-13 15:44:41 +08:00
1 parent d093d3fc8b
commit 1c8d2e2c1d
1 file changed
+1 -1
+1 -1
View File
@@ -132,7 +132,7 @@ def setTSS64(num: int, base: uint64, limit: uint32):
gdt[num].base_low = base & 0xFFFF
gdt[num].base_middle = (base >> 16) & 0xFF
gdt[num].access = 0x89
gdt[num].granularity = 0x00
gdt[num].granularity = (limit >> 16) & 0x0F
gdt[num].base_high = (base >> 24) & 0xFF
gdt[num + 1].limit_low = (base >> 32) & 0xFFFF
gdt[num + 1].base_low = (base >> 48) & 0xFFFF