[ros-diffs] [tkreuzer] 43632: [NTOSKRNKL] - add Ke386SetGs, Ke386SetSs macros for amd64 - fix IMAGE_FILE_MACHINE_ARCHITECTURE for amd64, fixes WinDbg kernel version detection - goto KiSystemStartupReal from KiSystemStartup directly, old boot method is now deprecated
tkreuzer at svn.reactos.org
tkreuzer at svn.reactos.org
Tue Oct 20 00:49:04 CEST 2009
Author: tkreuzer
Date: Tue Oct 20 00:49:04 2009
New Revision: 43632
URL: http://svn.reactos.org/svn/reactos?rev=43632&view=rev
Log:
[NTOSKRNKL]
- add Ke386SetGs, Ke386SetSs macros for amd64
- fix IMAGE_FILE_MACHINE_ARCHITECTURE for amd64, fixes WinDbg kernel version detection
- goto KiSystemStartupReal from KiSystemStartup directly, old boot method is now deprecated
Modified:
branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/intrin_i.h
branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h
branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/intrin_i.h
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/intrin_i.h?rev=43632&r1=43631&r2=43632&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/intrin_i.h [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/intrin_i.h [iso-8859-1] Tue Oct 20 00:49:04 2009
@@ -132,8 +132,10 @@
#define Ke386GetSs() _Ke386GetSeg(ss)
#define Ke386GetFs() _Ke386GetSeg(fs)
#define Ke386SetFs(X) _Ke386SetSeg(fs, X)
+#define Ke386SetGs(X) _Ke386SetSeg(gs, X)
#define Ke386SetDs(X) _Ke386SetSeg(ds, X)
#define Ke386SetEs(X) _Ke386SetSeg(es, X)
+#define Ke386SetSs(X) _Ke386SetSeg(ss, X)
#elif defined(_MSC_VER)
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h?rev=43632&r1=43631&r2=43632&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/include/internal/amd64/ke.h [iso-8859-1] Tue Oct 20 00:49:04 2009
@@ -67,7 +67,7 @@
extern ULONG Ke386CacheAlignment;
-#define IMAGE_FILE_MACHINE_ARCHITECTURE IMAGE_FILE_MACHINE_I386
+#define IMAGE_FILE_MACHINE_ARCHITECTURE IMAGE_FILE_MACHINE_AMD64
//
// INT3 is 1 byte long
Modified: branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c?rev=43632&r1=43631&r2=43632&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/ntoskrnl/ke/amd64/kiinit.c [iso-8859-1] Tue Oct 20 00:49:04 2009
@@ -621,7 +621,12 @@
KiSystemStartup(IN ULONG_PTR Dummy,
IN PROS_LOADER_PARAMETER_BLOCK LoaderBlock)
{
- KiRosPrepareForSystemStartup(Dummy, LoaderBlock);
+ FrLdrDbgPrint = ((PLOADER_PARAMETER_BLOCK)Dummy)->u.Amd64.DbgPrint;
+ FrLdrDbgPrint("Hello from KiSystemStartup!!!\n");
+
+ KiSystemStartupReal((PLOADER_PARAMETER_BLOCK)Dummy);
+
+// KiRosPrepareForSystemStartup(Dummy, LoaderBlock);
}
@@ -669,7 +674,7 @@
Ke386SetFs(KGDT_32_R3_TEB | RPL_MASK);
/* LDT is unused */
- __sldt(0);
+// __lldt(0);
/* Align stack to 16 bytes */
LoaderBlock->KernelStack &= ~(16 - 1);
@@ -719,6 +724,8 @@
}
// DPRINT1("Gdt = %p, Idt = %p, Pcr = %p, Tss = %p\n", Gdt, Idt, Pcr, Tss);
+
+ DbgBreakPointWithStatus(0);
/* Initialize the Processor with HAL */
HalInitializeProcessor(Cpu, KeLoaderBlock);
More information about the Ros-diffs
mailing list