X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=kernel%2Farch%2Fx86%2Fdescriptors.cc;h=172e4e42bfbeb25c2032bf9e4b3689c10c868028;hp=65b146e00c715567f9d6ef6466dec0474ce0c9b5;hb=139f54779f6395a1828261423cd8013ca940ff36;hpb=1ac390fe1e18444008857b056c947710be9621a8 diff --git a/kernel/arch/x86/descriptors.cc b/kernel/arch/x86/descriptors.cc index 65b146e..172e4e4 100644 --- a/kernel/arch/x86/descriptors.cc +++ b/kernel/arch/x86/descriptors.cc @@ -37,7 +37,7 @@ Descriptor x86_gdt[1024] = { user: 1, dpl: 0, present: 1, - limit_high: 0xff, + limit_high: 0xf, sw: 0, reserved: 0, opsize: 1, @@ -52,7 +52,7 @@ Descriptor x86_gdt[1024] = { user: 1, dpl: 0, present: 1, - limit_high: 0xff, + limit_high: 0xf, sw: 0, reserved: 0, opsize: 1, @@ -82,7 +82,7 @@ Descriptor x86_gdt[1024] = { user: 1, dpl: 3, present: 1, - limit_high: 0x7f, + limit_high: 0x7, sw: 0, reserved: 0, opsize: 1, @@ -97,7 +97,7 @@ Descriptor x86_gdt[1024] = { user: 1, dpl: 3, present: 1, - limit_high: 0x7f, + limit_high: 0x7, sw: 0, reserved: 0, opsize: 1, @@ -183,7 +183,7 @@ static void set_int_gate(int num, void *addrptr, bool ints_off = false, extern int x86_diverr, x86_debug, x86_breakpoint; extern int x86_gpf, x86_page_fault, x86_invalid_insn; -extern int x86_int98_entry, x86_int99_entry; +extern int x86_int98_entry, x86_int99_entry, x86_int9a_entry, x86_int9b_entry; extern void *x86_irqs[256]; namespace Arch { @@ -203,6 +203,8 @@ namespace Priv { set_int_gate(14, &x86_page_fault, true); set_int_gate(0x98, &x86_int98_entry, false, true); set_int_gate(0x99, &x86_int99_entry, false, true); + set_int_gate(0x9a, &x86_int9a_entry, false, true); + set_int_gate(0x9b, &x86_int9b_entry, false, true); for (int i = 0x20; i < 0x30; i++) set_int_gate(i, x86_irqs[i], true);