[HAL] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
[reactos.git] / reactos / hal / halppc / generic / processor.c
1 /*
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
9 * UPDATE HISTORY:
10 * 22/05/1998 DW Created
11 * 12/04/2001 CSH Added MultiProcessor specification support
12 */
13
14 /* INCLUDES *****************************************************************/
15
16 #include <hal.h>
17 #define NDEBUG
18 #include <debug.h>
19
20 /* FUNCTIONS *****************************************************************/
21
22 #define INITIAL_STALL_COUNT 0x10000
23
24 VOID NTAPI
25 HalInitializeProcessor(ULONG ProcessorNumber,
26 PLOADER_PARAMETER_BLOCK LoaderBlock)
27 {
28 DPRINT("HalInitializeProcessor(%lu %p)\n", ProcessorNumber, LoaderBlock);
29 KeGetPcr()->StallScaleFactor = INITIAL_STALL_COUNT;
30 }
31
32 BOOLEAN NTAPI
33 HalAllProcessorsStarted (VOID)
34 {
35 DPRINT("HalAllProcessorsStarted()\n");
36
37 return TRUE;
38 }
39
40 NTHALAPI
41 BOOLEAN
42 NTAPI
43 HalStartNextProcessor(
44 IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
45 IN PKPROCESSOR_STATE ProcessorState
46 )
47 {
48 DPRINT("HalStartNextProcessor(0x%lx 0x%lx)\n", LoaderBlock, ProcessorState);
49
50 return TRUE;
51 }
52
53 /*
54 * @implemented
55 */
56 VOID
57 NTAPI
58 HalProcessorIdle(VOID)
59 {
60 /* Enable interrupts and halt the processor */
61 _enable();
62 }
63
64 /*
65 * @implemented
66 */
67 VOID
68 NTAPI
69 HalRequestIpi(ULONG Reserved)
70 {
71 /* Not implemented on NT */
72 __debugbreak();
73 }
74
75 /* EOF */