X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=ntoskrnl%2Fke%2Fi386%2Fgdt.c;h=5a1ede95aa944d946091c3238365757378bfc934;hp=f0a052cba9ea0720578bb5ce5a29bfc6d5268b51;hb=HEAD;hpb=7c0db166f81fbe8c8b913d7f26048e337d383605 diff --git a/ntoskrnl/ke/i386/gdt.c b/ntoskrnl/ke/i386/gdt.c index f0a052c..5a1ede9 100644 --- a/ntoskrnl/ke/i386/gdt.c +++ b/ntoskrnl/ke/i386/gdt.c @@ -95,7 +95,7 @@ KiInitializeGdt(PKPCR Pcr) if (Gdt == NULL) { DbgPrint("No GDT (%d)\n", Pcr->ProcessorNumber); - KeBugCheck(0); + KEBUGCHECK(0); } /* @@ -178,6 +178,31 @@ KeSetBaseGdtSelector(ULONG Entry, } VOID +KeSetGdtSelector(ULONG Entry, + ULONG Value1, + ULONG Value2) +{ + KIRQL oldIrql; + PULONG Gdt = (PULONG) KeGetCurrentKPCR()->GDT; + + DPRINT("KeSetGdtSelector(Entry %x, Value1 %x, Value2 %x)\n", + Entry, Value1, Value2); + + KeAcquireSpinLock(&GdtLock, &oldIrql); + + Entry = (Entry & (~0x3)) / 4; + + Gdt[Entry] = Value1; + Gdt[Entry + 1] = Value2; + + DPRINT("%x %x\n", + Gdt[Entry + 0], + Gdt[Entry + 1]); + + KeReleaseSpinLock(&GdtLock, oldIrql); +} + +VOID KeDumpGdtSelector(ULONG Entry) { USHORT a, b, c, d;