ReactOS
0.4.16-dev-1-gcf26321
halinit_mp.c
Go to the documentation of this file.
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 */
BOOLEAN
unsigned char BOOLEAN
Definition:
ProcessorBind.h:185
UNIMPLEMENTED
#define UNIMPLEMENTED
Definition:
debug.h:118
TRUE
#define TRUE
Definition:
types.h:120
FALSE
#define FALSE
Definition:
types.h:117
EnableInterrupts
static NTSTATUS EnableInterrupts(IN PPORT_DEVICE_EXTENSION DeviceExtension, IN UCHAR FlagsToDisable, IN UCHAR FlagsToEnable)
Definition:
pnp.c:380
ULONG_PTR
#define ULONG_PTR
Definition:
config.h:101
HaliFindSmpConfig
BOOLEAN HaliFindSmpConfig(VOID)
Definition:
mpconfig.c:605
HalpInitPhase0
VOID HalpInitPhase0(PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition:
halinit_mp.c:30
HalpInitializePICs
VOID NTAPI HalpInitializePICs(IN BOOLEAN EnableInterrupts)
Definition:
halinit_mp.c:24
KernelBase
ULONG_PTR KernelBase
Definition:
halinit_mp.c:20
HalpInitPhase1
VOID HalpInitPhase1(VOID)
Definition:
halinit_mp.c:61
void
Definition:
nsiface.idl:2307
ASSERT
#define ASSERT(a)
Definition:
mode.c:44
DPRINT
#define DPRINT
Definition:
sndvol32.h:73
_LDR_DATA_TABLE_ENTRY
Definition:
btrfs_drv.h:1876
_LIST_ENTRY::Flink
struct _LIST_ENTRY * Flink
Definition:
typedefs.h:121
_LOADER_PARAMETER_BLOCK
Definition:
arc.h:539
_LOADER_PARAMETER_BLOCK::LoadOrderListHead
LIST_ENTRY LoadOrderListHead
Definition:
arc.h:540
NTAPI
#define NTAPI
Definition:
typedefs.h:36
ULONG_PTR
uint32_t ULONG_PTR
Definition:
typedefs.h:65
IN
#define IN
Definition:
typedefs.h:39
CONTAINING_RECORD
#define CONTAINING_RECORD(address, type, field)
Definition:
typedefs.h:260
hal
halx86
mp
halinit_mp.c
Generated on Wed Sep 11 2024 06:06:09 for ReactOS by
1.9.6