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