xref: /reactos/hal/halx86/smp/mps/mps.c (revision 2c8d083f)
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