blob: 27d3996a2d088cc4f19bd97b6c2c308afe2c132a (
plain) (
tree)
|
|
TABLE_MASK EQU 004H
RPL_MASK EQU 003H
RPL_CLR EQU 0fffcH
RPL_RING0 EQU 000H
RPL_RING1 EQU 001H
RPL_RING2 EQU 002H
RPL_RING3 EQU 003H
D_PRES EQU 80H
D_NOTPRES EQU 0
D_DPL0 EQU 0
D_DPL1 EQU 20H
D_DPL2 EQU 40H
D_DPL3 EQU 60H
D_PRIV EQU D_DPL3
D_SEG EQU 10H
D_CTRL EQU 0
D_TSS_BUSY_BIT EQU 2H
D_GATE EQU 4H
D_32 EQU 8H
D_TSS EQU 1H
D_LDT EQU 2H
D_TSS_BUSY EQU (D_TSS+D_TSS_BUSY_BIT)
D_CALLGATE EQU (D_GATE+0 )
D_TASKGATE EQU (D_GATE+1 )
D_INTGATE EQU (D_GATE+2 )
D_TRAPGATE EQU (D_GATE+3 )
D_TSS32 EQU (D_TSS+D_32)
D_TSSBUSY32 EQU (D_TSS_BUSY+D_32)
D_CALLGATE32 EQU (D_CALLGATE+D_32)
D_INTGATE32 EQU (D_INTGATE+D_32)
D_TRAPGATE32 EQU (D_TRAPGATE+D_32)
D_TYPEMASK EQU 0fH
D_WCMASK EQU 01fH
D_MINGATE EQU D_CALLGATE
D_MAXGATE EQU D_TRAPGATE32
D_TSSBUSY_CLR EQU ( NOT D_TSS_BUSY_BIT)
D_CODE EQU 8H
D_DATA EQU 0
D_CONFORM EQU 4H
D_EXPDN EQU 4H
D_RX EQU 2H
D_X EQU 0
D_W EQU 2H
D_R EQU 0
D_ACCESSED EQU 1H
D_GRAN4K EQU 80H
D_COPER32 EQU 40H
D_DBIG EQU D_COPER32
D_PAD EQU 20H
D_UVIRT EQU 10H
D_EXTLIMIT EQU 0fH
D_1MEG EQU 100000H
D_GRANMASK EQU 0fffffH
D_DATA0 EQU (D_PRES+D_DPL0+D_SEG+D_DATA+D_W)
D_CODE0 EQU (D_PRES+D_DPL0+D_SEG+D_CODE+D_RX)
D_TRAP0 EQU (D_PRES+D_DPL0+D_CTRL+D_TRAPGATE)
D_INT0 EQU (D_PRES+D_DPL0+D_CTRL+D_INTGATE)
D_TASK0 EQU (D_PRES+D_DPL0+D_CTRL+D_TASKGATE)
D_TSS0 EQU (D_PRES+D_DPL0+D_CTRL+D_TSS)
D_LDT0 EQU (D_PRES+D_DPL0+D_CTRL+D_LDT)
D_TRAP032 EQU (D_PRES+D_DPL0+D_CTRL+D_TRAPGATE32)
D_INT032 EQU (D_PRES+D_DPL0+D_CTRL+D_INTGATE32)
D_TSS032 EQU (D_PRES+D_DPL0+D_CTRL+D_TSS32)
D_DATA1 EQU (D_PRES+D_DPL1+D_SEG+D_DATA+D_W)
D_CODE1 EQU (D_PRES+D_DPL1+D_SEG+D_CODE+D_RX)
D_DATA2 EQU (D_PRES+D_DPL2+D_SEG+D_DATA+D_W)
D_CODE2 EQU (D_PRES+D_DPL2+D_SEG+D_CODE+D_RX)
D_DATA3 EQU (D_PRES+D_DPL3+D_SEG+D_DATA+D_W)
D_CODE3 EQU (D_PRES+D_DPL3+D_SEG+D_CODE+D_RX)
D_INT3 EQU (D_PRES+D_DPL3+D_CTRL+D_INTGATE)
D_TRAP3 EQU (D_PRES+D_DPL3+D_CTRL+D_TRAPGATE)
D_GATE3 EQU (D_PRES+D_DPL3+D_CTRL+D_CALLGATE)
D_INT332 EQU (D_PRES+D_DPL3+D_CTRL+D_INTGATE32)
D_GATE332 EQU (D_PRES+D_DPL3+D_CTRL+D_CALLGATE32)
D_TRAP332 EQU (D_PRES+D_DPL3+D_CTRL+D_TRAPGATE32)
desctab STRUC
d_limit DW ?
d_loaddr DW ?
d_hiaddr DB ?
d_access DB ?
d_attr DB ?
d_extaddr DB ?
desctab ENDS
desc32 STRUC
d32_low DD ?
d32_high DD ?
desc32 ENDS
d_flink EQU d_loaddr
d_blink EQU d_limit
gate STRUC
g_handler DD ?
g_parms DB ?
g_access DB ?
g_extoffset DW ?
gate ENDS
g_lowoffset EQU WORD PTR g_handler
g_sel EQU WORD PTR g_handler + 2
lidt_s STRUC
lidt_limit DW ?
lidt_base DD ?
lidt_s ENDS
tss_s STRUC
tss_backlink DW ?
tss_reservdbl DW ?
tss_esp0 DD ?
tss_ss0 DW ?
tss_reservdss0 DW ?
tss_esp1 DD ?
tss_ss1 DW ?
tss_reservdss1 DW ?
tss_esp2 DD ?
tss_ss2 DW ?
tss_reservdss2 DW ?
tss_cr3 DD ?
tss_eip DD ?
tss_eflags DD ?
tss_eax DD ?
tss_ecx DD ?
tss_edx DD ?
tss_ebx DD ?
tss_esp DD ?
tss_ebp DD ?
tss_esi DD ?
tss_edi DD ?
tss_es DW ?
tss_reservdes DW ?
tss_cs DW ?
tss_reservdcs DW ?
tss_ss DW ?
tss_reservdss DW ?
tss_ds DW ?
tss_reservdds DW ?
tss_fs DW ?
tss_reservdfs DW ?
tss_gs DW ?
tss_reservdgs DW ?
tss_ldt DW ?
tss_reservdldt DW ?
tss_tflags DW ?
tss_iomap DW ?
tss_s ENDS
TSS_DEBUGTRAP EQU 001H
tss_sp1 equ word ptr tss_esp1
tss_sp2 equ word ptr tss_esp2
tss_sp0 equ word ptr tss_esp0
tss_ip equ word ptr tss_eip
tss_bx equ word ptr tss_ebx
tss_sp equ word ptr tss_esp
tss_flags equ word ptr tss_eflags
tss_cs0 equ word ptr tss_cs
|