https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b627352815eda056d6333f...
commit b627352815eda056d6333f6fbbf92028ea516e9a Author: Timo Kreuzer timo.kreuzer@reactos.org AuthorDate: Sat Jun 12 14:25:48 2021 +0200 Commit: Timo Kreuzer timo.kreuzer@reactos.org 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()