2013-03-14 21:04:13 +00:00
|
|
|
/*
|
2004-12-03 20:10:45 +00:00
|
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
|
|
* PROJECT: ReactOS kernel
|
2010-01-21 13:43:49 +00:00
|
|
|
* FILE: hal/halx86/mp/halinit_mp.c
|
2013-04-04 20:11:17 +00:00
|
|
|
* PURPOSE: Initialize the x86 mp hal
|
2004-12-03 20:10:45 +00:00
|
|
|
* PROGRAMMER: David Welch (welch@cwcom.net)
|
|
|
|
* UPDATE HISTORY:
|
|
|
|
* 11/06/98: Created
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* INCLUDES *****************************************************************/
|
|
|
|
|
2005-06-18 14:28:28 +00:00
|
|
|
#include <hal.h>
|
2005-06-19 22:53:49 +00:00
|
|
|
#define NDEBUG
|
|
|
|
#include <debug.h>
|
2004-12-03 20:10:45 +00:00
|
|
|
|
2011-09-10 18:58:01 +00:00
|
|
|
/* GLOBALS ******************************************************************/
|
2004-12-03 20:10:45 +00:00
|
|
|
|
2011-09-10 18:58:01 +00:00
|
|
|
const USHORT HalpBuildType = HAL_BUILD_TYPE;
|
2005-03-07 16:40:32 +00:00
|
|
|
extern BOOLEAN HaliFindSmpConfig(VOID);
|
2005-07-16 13:01:18 +00:00
|
|
|
ULONG_PTR KernelBase;
|
2005-03-07 16:40:32 +00:00
|
|
|
|
2011-09-10 18:58:01 +00:00
|
|
|
/* FUNCTIONS ****************************************************************/
|
2007-12-14 08:53:56 +00:00
|
|
|
|
2010-01-21 13:36:30 +00:00
|
|
|
VOID NTAPI HalpInitializePICs(IN BOOLEAN EnableInterrupts)
|
2007-12-14 08:53:56 +00:00
|
|
|
{
|
|
|
|
UNIMPLEMENTED;
|
|
|
|
}
|
|
|
|
|
2004-12-03 20:10:45 +00:00
|
|
|
VOID
|
2006-09-30 23:35:17 +00:00
|
|
|
HalpInitPhase0(PLOADER_PARAMETER_BLOCK LoaderBlock)
|
2005-03-07 16:40:32 +00:00
|
|
|
|
2004-12-03 20:10:45 +00:00
|
|
|
{
|
2005-03-07 16:40:32 +00:00
|
|
|
static BOOLEAN MPSInitialized = FALSE;
|
|
|
|
|
|
|
|
|
|
|
|
/* Only initialize MP system once. Once called the first time,
|
|
|
|
each subsequent call is part of the initialization sequence
|
2005-07-16 13:01:18 +00:00
|
|
|
for an application processor. */
|
2005-03-07 16:40:32 +00:00
|
|
|
|
|
|
|
DPRINT("HalpInitPhase0()\n");
|
|
|
|
|
|
|
|
|
2006-09-30 23:35:17 +00:00
|
|
|
if (MPSInitialized)
|
2005-03-07 16:40:32 +00:00
|
|
|
{
|
2008-08-24 15:48:05 +00:00
|
|
|
ASSERT(FALSE);
|
2005-03-07 16:40:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
MPSInitialized = TRUE;
|
|
|
|
|
|
|
|
if (!HaliFindSmpConfig())
|
|
|
|
{
|
2008-08-24 15:48:05 +00:00
|
|
|
ASSERT(FALSE);
|
2005-03-07 16:40:32 +00:00
|
|
|
}
|
2005-07-16 13:01:18 +00:00
|
|
|
|
|
|
|
/* store the kernel base for later use */
|
2006-09-30 23:35:17 +00:00
|
|
|
KernelBase = (ULONG_PTR)CONTAINING_RECORD(LoaderBlock->LoadOrderListHead.Flink, LDR_DATA_TABLE_ENTRY, InLoadOrderLinks)->DllBase;
|
2005-07-16 13:01:18 +00:00
|
|
|
|
2004-12-03 20:10:45 +00:00
|
|
|
}
|
|
|
|
|
2006-08-25 00:46:41 +00:00
|
|
|
VOID
|
|
|
|
HalpInitPhase1(VOID)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2004-12-03 20:10:45 +00:00
|
|
|
/* EOF */
|