xref: /reactos/hal/halx86/pic/processor.c (revision 2196a06f)
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 2006 Alex Ionescu <alex.ionescu@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 /*
32  * @implemented
33  */
34 BOOLEAN
35 NTAPI
36 HalAllProcessorsStarted(VOID)
37 {
38     /* Do nothing */
39     return TRUE;
40 }
41 
42 /*
43  * @implemented
44  */
45 BOOLEAN
46 NTAPI
47 HalStartNextProcessor(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
48                       IN PKPROCESSOR_STATE ProcessorState)
49 {
50     /* Ready to start */
51     return FALSE;
52 }
53 
54 /*
55  * @implemented
56  */
57 VOID
58 NTAPI
59 HalProcessorIdle(VOID)
60 {
61     /* Enable interrupts and halt the processor */
62     _enable();
63     __halt();
64 }
65 
66 /*
67  * @implemented
68  */
69 VOID
70 NTAPI
71 HalRequestIpi(KAFFINITY TargetProcessors)
72 {
73     /* Not implemented on UP */
74     __debugbreak();
75 }
76 
77 /* EOF */
78