From 37d156c4c8c9da2ef0282911cc1f9a0036d3ef56 Mon Sep 17 00:00:00 2001 From: Alex Ionescu Date: Wed, 29 Nov 2006 19:20:17 +0000 Subject: [PATCH] - Swap the IDT where we should, in KiSystemStartup instead of the freeldr.c hackfile. This, coupled with the previous patch, should make NTLDR-booting even more succesful since interrupts won't crash/be ignored. svn path=/trunk/; revision=24973 --- reactos/ntoskrnl/ke/freeldr.c | 3 --- reactos/ntoskrnl/ke/i386/kiinit.c | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/reactos/ntoskrnl/ke/freeldr.c b/reactos/ntoskrnl/ke/freeldr.c index c25f56ae4a0..95c6255f569 100644 --- a/reactos/ntoskrnl/ke/freeldr.c +++ b/reactos/ntoskrnl/ke/freeldr.c @@ -367,9 +367,6 @@ KiRosPrepareForSystemStartup(IN ULONG Dummy, MmFreeLdrLastKrnlPhysAddr = MmFreeLdrLastKernelAddress - KSEG0_BASE + 0x200000; - /* Setup the IDT */ - KeInitExceptions(); // ONCE HACK BELOW IS GONE, MOVE TO KISYSTEMSTARTUP! - /* Set up the VDM Data */ NtEarlyInitVdm(); diff --git a/reactos/ntoskrnl/ke/i386/kiinit.c b/reactos/ntoskrnl/ke/i386/kiinit.c index d8ee3d634bb..3d57fa92563 100644 --- a/reactos/ntoskrnl/ke/i386/kiinit.c +++ b/reactos/ntoskrnl/ke/i386/kiinit.c @@ -610,6 +610,9 @@ KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock) __writefsdword(KPCR_DR6, 0); __writefsdword(KPCR_DR7, 0); + /* Setup the IDT */ + KeInitExceptions(); + /* Load Ring 3 selectors for DS/ES */ Ke386SetDs(KGDT_R3_DATA | RPL_MASK); Ke386SetEs(KGDT_R3_DATA | RPL_MASK);