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