1 /*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4 * PURPOSE: Source File for MPS specific functions
5 * COPYRIGHT: Copyright 2021 Justin Miller <justinmiller100@gmail.com>
6 */
7
8 /* INCLUDES *******************************************************************/
9
10 #include <hal.h>
11 #include <smp.h>
12
13 #define NDEBUG
14 #include <debug.h>
15
16 /* GLOBALS ********************************************************************/
17
18 static // TODO: While HalpParseApicTables() is UNIMPLEMENTED.
19 ULONG PhysicalProcessorCount;
20
21 static PROCESSOR_IDENTITY HalpStaticProcessorIdentity[MAXIMUM_PROCESSORS];
22 const PPROCESSOR_IDENTITY HalpProcessorIdentity = HalpStaticProcessorIdentity;
23
24 /* FUNCTIONS ******************************************************************/
25
26 VOID
HalpParseApicTables(_In_ PLOADER_PARAMETER_BLOCK LoaderBlock)27 HalpParseApicTables(
28 _In_ PLOADER_PARAMETER_BLOCK LoaderBlock)
29 {
30 UNREFERENCED_PARAMETER(LoaderBlock);
31
32 // TODO: Fill HalpStaticProcessorIdentity[].
33 UNIMPLEMENTED;
34 }
35
36 VOID
HalpPrintApicTables(VOID)37 HalpPrintApicTables(VOID)
38 {
39 #if DBG
40 ULONG i;
41
42 DPRINT1("Physical processor count: %lu\n", PhysicalProcessorCount);
43 for (i = 0; i < PhysicalProcessorCount; i++)
44 {
45 DPRINT1(" Processor %lu: ProcessorId %u, LapicId %u, ProcessorStarted %u, BSPCheck %u, ProcessorPrcb %p\n",
46 i,
47 HalpProcessorIdentity[i].ProcessorId,
48 HalpProcessorIdentity[i].LapicId,
49 HalpProcessorIdentity[i].ProcessorStarted,
50 HalpProcessorIdentity[i].BSPCheck,
51 HalpProcessorIdentity[i].ProcessorPrcb);
52 }
53 #endif
54 }
55