1 /* $Id: processor.c 23907 2006-09-04 05:52:23Z arty $
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: hal/halx86/generic/processor.c
6 * PURPOSE: Intel MultiProcessor specification support
7 * PROGRAMMER: David Welch (welch@cwcom.net)
8 * Casper S. Hornstrup (chorns@users.sourceforge.net)
9 * NOTES: Parts adapted from linux SMP code
11 * 22/05/1998 DW Created
12 * 12/04/2001 CSH Added MultiProcessor specification support
15 /* INCLUDES *****************************************************************/
21 /* FUNCTIONS *****************************************************************/
23 #define INITIAL_STALL_COUNT 0x10000
26 HalInitializeProcessor(ULONG ProcessorNumber
,
27 PLOADER_PARAMETER_BLOCK LoaderBlock
)
29 DPRINT("HalInitializeProcessor(%lu %p)\n", ProcessorNumber
, LoaderBlock
);
30 KeGetPcr()->StallScaleFactor
= INITIAL_STALL_COUNT
;
34 HalAllProcessorsStarted (VOID
)
36 DPRINT("HalAllProcessorsStarted()\n");
44 HalStartNextProcessor(
45 IN
struct _LOADER_PARAMETER_BLOCK
*LoaderBlock
,
46 IN PKPROCESSOR_STATE ProcessorState
49 DPRINT("HalStartNextProcessor(0x%lx 0x%lx)\n", LoaderBlock
, ProcessorState
);
59 HalProcessorIdle(VOID
)
61 /* Enable interrupts and halt the processor */
70 HalRequestIpi(ULONG Reserved
)
72 /* Not implemented on NT */