2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: hal/halppc/generic/processor.c
5 * PURPOSE: Intel MultiProcessor specification support
6 * PROGRAMMER: David Welch (welch@cwcom.net)
7 * Casper S. Hornstrup (chorns@users.sourceforge.net)
8 * NOTES: Parts adapted from linux SMP code
10 * 22/05/1998 DW Created
11 * 12/04/2001 CSH Added MultiProcessor specification support
14 /* INCLUDES *****************************************************************/
20 /* FUNCTIONS *****************************************************************/
22 #define INITIAL_STALL_COUNT 0x10000
25 HalInitializeProcessor(ULONG ProcessorNumber
,
26 PLOADER_PARAMETER_BLOCK LoaderBlock
)
28 DPRINT("HalInitializeProcessor(%lu %p)\n", ProcessorNumber
, LoaderBlock
);
29 KeGetPcr()->StallScaleFactor
= INITIAL_STALL_COUNT
;
33 HalAllProcessorsStarted (VOID
)
35 DPRINT("HalAllProcessorsStarted()\n");
43 HalStartNextProcessor(
44 IN
struct _LOADER_PARAMETER_BLOCK
*LoaderBlock
,
45 IN PKPROCESSOR_STATE ProcessorState
48 DPRINT("HalStartNextProcessor(0x%lx 0x%lx)\n", LoaderBlock
, ProcessorState
);
58 HalProcessorIdle(VOID
)
60 /* Enable interrupts and halt the processor */
69 HalRequestIpi(ULONG Reserved
)
71 /* Not implemented on NT */