From fce1822384fb0ea88faef485c09c6ec0f8569cae Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Tue, 7 Oct 2008 20:56:48 +0000 Subject: [PATCH] - HalRequestIpi takes a KAFFINITY as input, not a ULONG -- fix this and add a note about MP HAL's brokenness svn path=/trunk/; revision=36680 --- reactos/hal/halx86/generic/processor.c | 4 ++-- reactos/hal/halx86/mp/ipi_mp.c | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/reactos/hal/halx86/generic/processor.c b/reactos/hal/halx86/generic/processor.c index 0374162b974..400f22e2157 100644 --- a/reactos/hal/halx86/generic/processor.c +++ b/reactos/hal/halx86/generic/processor.c @@ -78,9 +78,9 @@ HalProcessorIdle(VOID) */ VOID NTAPI -HalRequestIpi(ULONG Reserved) +HalRequestIpi(KAFFINITY TargetProcessors) { - /* Not implemented on NT */ + /* Not implemented on UP */ __debugbreak(); } diff --git a/reactos/hal/halx86/mp/ipi_mp.c b/reactos/hal/halx86/mp/ipi_mp.c index 6451e8297ca..77810f0701a 100644 --- a/reactos/hal/halx86/mp/ipi_mp.c +++ b/reactos/hal/halx86/mp/ipi_mp.c @@ -16,10 +16,11 @@ /* FUNCTIONS ****************************************************************/ VOID STDCALL -HalRequestIpi(ULONG ProcessorNo) +HalRequestIpi(KAFFINITY TargetProcessors) { - DPRINT("HalRequestIpi(ProcessorNo %d)\n", ProcessorNo); - APICSendIPI(1 << ProcessorNo, + /* FIXME: SMP HAL is...very broken */ + DPRINT("HalRequestIpi(TargetProcessors %d)\n", TargetProcessors); + APICSendIPI(1 << TargetProcessors, IPI_VECTOR|APIC_ICR0_LEVEL_DEASSERT|APIC_ICR0_DESTM); }