Author: jcatena
Date: Sun Feb 7 12:53:10 2010
New Revision: 45483
URL:
http://svn.reactos.org/svn/reactos?rev=45483&view=rev
Log:
[ntos] msvc wip
Modified:
branches/jcatena-branch/ntoskrnl/ke/i386/exp.c
branches/jcatena-branch/ntoskrnl/ke/i386/kiinit.c
Modified: branches/jcatena-branch/ntoskrnl/ke/i386/exp.c
URL:
http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ke/i386…
==============================================================================
--- branches/jcatena-branch/ntoskrnl/ke/i386/exp.c [iso-8859-1] (original)
+++ branches/jcatena-branch/ntoskrnl/ke/i386/exp.c [iso-8859-1] Sun Feb 7 12:53:10 2010
@@ -53,7 +53,8 @@
{
ULONG i;
USHORT FlippedSelector;
-
+
+ DPRINTT("\n");
/* Loop the IDT */
for (i = 0; i <= MAXIMUM_IDTVECTOR; i++)
{
Modified: branches/jcatena-branch/ntoskrnl/ke/i386/kiinit.c
URL:
http://svn.reactos.org/svn/reactos/branches/jcatena-branch/ntoskrnl/ke/i386…
==============================================================================
--- branches/jcatena-branch/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] (original)
+++ branches/jcatena-branch/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] Sun Feb 7 12:53:10
2010
@@ -720,12 +720,9 @@
/* Get GDT, IDT, PCR and TSS pointers */
KiGetMachineBootPointers(&Gdt, &Idt, &Pcr, &Tss);
-
+
/* Setup the TSS descriptors and entries */
Ki386InitializeTss(Tss, Idt, Gdt);
-
- // !!!
- KiTrapInit();
/* Initialize the PCR */
RtlZeroMemory(Pcr, PAGE_SIZE);
@@ -745,9 +742,6 @@
__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);
@@ -756,14 +750,23 @@
RtlCopyMemory(&NmiEntry, &Idt[2], sizeof(KIDTENTRY));
RtlCopyMemory(&DoubleFaultEntry, &Idt[8], sizeof(KIDTENTRY));
- /* Copy kernel's trap handlers */
+ /* Setup the IDT */
+ KeInitExceptions();
+ Idt = KiIdt;
+
+#if 0
+ /* Copy kernel's trap handlers */
RtlCopyMemory(Idt,
(PVOID)KiIdtDescriptor.Base,
KiIdtDescriptor.Limit + 1);
+#endif
/* Restore NMI and double fault */
RtlCopyMemory(&Idt[2], &NmiEntry, sizeof(KIDTENTRY));
RtlCopyMemory(&Idt[8], &DoubleFaultEntry, sizeof(KIDTENTRY));
+
+ __lidt(&KiIdtDescriptor.Limit);
+ KiTrapInit();
AppCpuInit:
/* Loop until we can release the freeze lock */