xref: /reactos/hal/halx86/apic/processor.c (revision 1734f297)
1 /*
2  * PROJECT:     ReactOS Hardware Abstraction Layer
3  * LICENSE:     GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4  * PURPOSE:     HAL Processor Routines
5  * COPYRIGHT:   Copyright 2010 Timo Kreuzer <timo.kreuzer@reactos.org>
6  */
7 
8 /* INCLUDES ******************************************************************/
9 
10 #include <hal.h>
11 #define NDEBUG
12 #include <debug.h>
13 
14 KAFFINITY HalpActiveProcessors;
15 KAFFINITY HalpDefaultInterruptAffinity;
16 
17 /* PRIVATE FUNCTIONS *********************************************************/
18 
19 VOID
20 NTAPI
21 HaliHaltSystem(VOID)
22 {
23     /* Disable interrupts and halt the CPU */
24     _disable();
25     __halt();
26 }
27 
28 /* FUNCTIONS *****************************************************************/
29 
30 /*
31  * @implemented
32  */
33 BOOLEAN
34 NTAPI
35 HalAllProcessorsStarted(VOID)
36 {
37     /* Do nothing */
38     return TRUE;
39 }
40 
41 /*
42  * @implemented
43  */
44 BOOLEAN
45 NTAPI
46 HalStartNextProcessor(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
47                       IN PKPROCESSOR_STATE ProcessorState)
48 {
49     /* Ready to start */
50     return FALSE;
51 }
52 
53 /*
54  * @implemented
55  */
56 VOID
57 NTAPI
58 HalProcessorIdle(VOID)
59 {
60     /* Enable interrupts and halt the processor */
61     _enable();
62     __halt();
63 }
64 
65 /*
66  * @implemented
67  */
68 VOID
69 NTAPI
70 HalRequestIpi(KAFFINITY TargetProcessors)
71 {
72     UNIMPLEMENTED;
73     __debugbreak();
74 }
75 
76 /* EOF */
77