xref: /reactos/hal/halx86/mp/halinit_mp.c (revision 84344399)
1 /*
2  * COPYRIGHT:     See COPYING in the top level directory
3  * PROJECT:       ReactOS kernel
4  * FILE:          hal/halx86/mp/halinit_mp.c
5  * PURPOSE:       Initialize the x86 mp hal
6  * PROGRAMMER:    David Welch (welch@cwcom.net)
7  * UPDATE HISTORY:
8  *              11/06/98: Created
9  */
10 
11 /* INCLUDES *****************************************************************/
12 
13 #include <hal.h>
14 #define NDEBUG
15 #include <debug.h>
16 
17 /* GLOBALS ******************************************************************/
18 
19 extern BOOLEAN HaliFindSmpConfig(VOID);
20 ULONG_PTR KernelBase;
21 
22 /* FUNCTIONS ****************************************************************/
23 
24 VOID NTAPI HalpInitializePICs(IN BOOLEAN EnableInterrupts)
25 {
26     UNIMPLEMENTED;
27 }
28 
29 VOID
30 HalpInitPhase0(PLOADER_PARAMETER_BLOCK LoaderBlock)
31 
32 {
33    static BOOLEAN MPSInitialized = FALSE;
34 
35 
36    /* Only initialize MP system once. Once called the first time,
37       each subsequent call is part of the initialization sequence
38       for an application processor. */
39 
40    DPRINT("HalpInitPhase0()\n");
41 
42 
43    if (MPSInitialized)
44    {
45       ASSERT(FALSE);
46    }
47 
48    MPSInitialized = TRUE;
49 
50    if (!HaliFindSmpConfig())
51    {
52       ASSERT(FALSE);
53    }
54 
55    /* store the kernel base for later use */
56    KernelBase = (ULONG_PTR)CONTAINING_RECORD(LoaderBlock->LoadOrderListHead.Flink, LDR_DATA_TABLE_ENTRY, InLoadOrderLinks)->DllBase;
57 
58 }
59 
60 VOID
61 HalpInitPhase1(VOID)
62 {
63 }
64 
65 /* EOF */
66