2005-01-06 13:58:04 +00:00
|
|
|
/* $Id$
|
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
|
|
|
|
* PURPOSE: Initalize 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
|
|
|
|
|
|
|
/* FUNCTIONS ***************************************************************/
|
|
|
|
|
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
|
|
|
|
|
|
|
/***************************************************************************/
|
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 */
|