https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b627352815eda056d6333f6fbbf92028ea516e9a

commit b627352815eda056d6333f6fbbf92028ea516e9a
Author:     Timo Kreuzer <[email protected]>
AuthorDate: Sat Jun 12 14:25:48 2021 +0200
Commit:     Timo Kreuzer <[email protected]>
CommitDate: Sat Jun 19 12:17:18 2021 +0200

    [NTOS][SETUP] Add x64 SMP kernel and make SMP the default boot mode on x64
---
 base/setup/lib/settings.c  | 5 +++++
 boot/bootdata/txtsetup.sif | 8 +++++++-
 ntoskrnl/CMakeLists.txt    | 2 +-
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/base/setup/lib/settings.c b/base/setup/lib/settings.c
index cafe247c05c..f958d846960 100644
--- a/base/setup/lib/settings.c
+++ b/base/setup/lib/settings.c
@@ -273,6 +273,10 @@ GetComputerIdentifier(
         return FALSE;
     }
 
+#ifdef _M_AMD64
+    /* On x64 we are l33t and use the MP config by default */
+    ComputerIdentifier = L"X64 MP";
+#else
     if (IsAcpiComputer())
     {
         if (pFullInfo->SubKeys == 1)
@@ -299,6 +303,7 @@ GetComputerIdentifier(
             ComputerIdentifier = L"PC MP";
         }
     }
+#endif
 
     RtlFreeHeap(RtlGetProcessHeap(), 0, pFullInfo);
 
diff --git a/boot/bootdata/txtsetup.sif b/boot/bootdata/txtsetup.sif
index 63e0df890cc..1fdf60c17f9 100644
--- a/boot/bootdata/txtsetup.sif
+++ b/boot/bootdata/txtsetup.sif
@@ -236,6 +236,7 @@ pc98_up = "NEC PC-98 Uniprocessor"
 
 [Computer.NTamd64]
 x64_up = "Standard x64 Uniprocessor"
+x64_mp = "Standard x64 Multiprocessor"
 
 [Map.Computer.NTx86]
 ;<id> = <pnp id string>
@@ -249,7 +250,8 @@ xbox = "Xbox"
 pc98_up = "NEC PC-98 UP"
 
 [Map.Computer.NTamd64]
-x64_up = "ACPI UP"
+x64_up = "X64 UP"
+x64_mp = "X64 MP"
 
 [Files.pci_up]
 ntoskrnl.exe = 1,,,,,,,2,,,,1,2
@@ -287,6 +289,10 @@ halpc98.dll  = 1,,,,,,,2,,,hal.dll,1,2
 ntoskrnl.exe = 1,,,,,,,2,,,,1,2
 hal.dll      = 1,,,,,,,2,,,,1,2
 
+[Files.x64_mp]
+ntkrnlmp.exe = 1,,,,,,,2,,,ntoskrnl.exe,1,2
+halmp.dll    = 1,,,,,,,2,,,hal.dll,1,2
+
 [Display]
 ;<id> = <user friendly name>,<spare>,<service key name>,<width>,<height>,<bpp>
 vga              = "VGA Display (640x480x4)",,Vga,640,480,4
diff --git a/ntoskrnl/CMakeLists.txt b/ntoskrnl/CMakeLists.txt
index 2efd6f12833..b3362814e56 100644
--- a/ntoskrnl/CMakeLists.txt
+++ b/ntoskrnl/CMakeLists.txt
@@ -54,7 +54,7 @@ add_pch(ntoskrnl 
${REACTOS_SOURCE_DIR}/ntoskrnl/include/ntoskrnl.h "${PCH_SKIP_S
 add_dependencies(ntoskrnl psdk asm)
 add_cd_file(TARGET ntoskrnl DESTINATION reactos/system32 NO_CAB FOR all)
 
-if(BUILD_MP)
+if(BUILD_MP OR (ARCH STREQUAL "amd64"))
     add_subdirectory(ntkrnlmp)
 endif()
 

Reply via email to