1 /* 2 * PROJECT: ReactOS Kernel 3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) 4 * PURPOSE: Source file for Inter-Processor Interrupts management 5 * COPYRIGHT: Copyright 2023 Justin Miller <justin.miller@reactos.org> 6 */ 7 8 /* INCLUDES ******************************************************************/ 9 10 #include <hal.h> 11 #include <smp.h> 12 13 #define NDEBUG 14 #include <debug.h> 15 16 /* GLOBALS *******************************************************************/ 17 18 VOID 19 NTAPI 20 HalRequestIpi( 21 _In_ KAFFINITY TargetProcessors) 22 { 23 HalpRequestIpi(TargetProcessors); 24 } 25 26 #ifdef _M_AMD64 27 28 VOID 29 NTAPI 30 HalSendNMI( 31 _In_ KAFFINITY TargetSet) 32 { 33 HalpSendNMI(TargetSet); 34 } 35 36 // See: 37 // - https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Runtime/r0drv/nt/internal-r0drv-nt.h#L53 38 // - https://github.com/mirror/vbox/blob/b9657cd5351cf17432b664009cc25bb480dc64c1/src/VBox/Runtime/r0drv/nt/mp-r0drv-nt.cpp#L683 39 VOID 40 NTAPI 41 HalSendSoftwareInterrupt( 42 _In_ KAFFINITY TargetSet, 43 _In_ KIRQL Irql) 44 { 45 HalpSendSoftwareInterrupt(TargetSet, Irql); 46 } 47 48 #endif // _M_AMD64 49