Author: sginsberg
Date: Wed Oct 14 20:07:29 2009
New Revision: 43462
URL:
http://svn.reactos.org/svn/reactos?rev=43462&view=rev
Log:
- Remove a hack from KiGetMachineBootPointers and set the TSS selector properly in
KiRosPrepareForSystemStartup instead.
- Use KGDT_TSS in WinLdrSetProcessorContext instead of a hardcoded value.
Modified:
trunk/reactos/boot/freeldr/freeldr/windows/wlmemory.c
trunk/reactos/ntoskrnl/ke/freeldr.c
trunk/reactos/ntoskrnl/ke/i386/kiinit.c
Modified: trunk/reactos/boot/freeldr/freeldr/windows/wlmemory.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/freeldr/windo…
==============================================================================
--- trunk/reactos/boot/freeldr/freeldr/windows/wlmemory.c [iso-8859-1] (original)
+++ trunk/reactos/boot/freeldr/freeldr/windows/wlmemory.c [iso-8859-1] Wed Oct 14 20:07:29
2009
@@ -919,7 +919,7 @@
Ke386SetLocalDescriptorTable(Ldt);
// Load TSR
- Ke386SetTr(0x28);
+ Ke386SetTr(KGDT_TSS);
// Clear GS
Ke386SetGs(0);
Modified: trunk/reactos/ntoskrnl/ke/freeldr.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/freeldr.c?rev=…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/freeldr.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/freeldr.c [iso-8859-1] Wed Oct 14 20:07:29 2009
@@ -1289,6 +1289,9 @@
TssEntry->BaseLow = (USHORT)((ULONG_PTR)Tss & 0xFFFF);
TssEntry->HighWord.Bytes.BaseMid = (UCHAR)((ULONG_PTR)Tss >> 16);
TssEntry->HighWord.Bytes.BaseHi = (UCHAR)((ULONG_PTR)Tss >> 24);
+
+ /* Set the TSS selector */
+ Ke386SetTr(KGDT_TSS);
#endif
#if defined(_M_PPC)
@@ -1351,5 +1354,3 @@
/* Do general System Startup */
KiSystemStartupReal(NtLoaderBlock);
}
-
-/* EOF */
Modified: trunk/reactos/ntoskrnl/ke/i386/kiinit.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/kiinit.c?…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/ke/i386/kiinit.c [iso-8859-1] Wed Oct 14 20:07:29 2009
@@ -621,7 +621,6 @@
/* Get TSS and FS Selectors */
Tr = Ke386GetTr();
- if (Tr != KGDT_TSS) Tr = KGDT_TSS; // FIXME: HACKHACK
Fs = Ke386GetFs();
/* Get PCR Selector, mask it and get its GDT Entry */