4339d8081b1d98f234d665033fb4a081289f2ea6
1 /* $Id: misc.c,v 1.8 2004/11/28 01:30:01 hbirr Exp $
3 * COPYRIGHT: See COPYING in the top level directory
4 * PROJECT: ReactOS kernel
5 * FILE: ntoskrnl/hal/x86/misc.c
6 * PURPOSE: Miscellaneous hardware functions
7 * PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
10 /* INCLUDES *****************************************************************/
13 #include <ddk/ntddk.h>
21 #include <internal/debug.h>
23 /* FUNCTIONS ****************************************************************/
28 HaliReconfigurePciInterrupts(VOID
);
33 HalHandleNMI(ULONG Unused
)
37 ucStatus
= READ_PORT_UCHAR((PUCHAR
) 0x61);
39 HalDisplayString ("\n*** Hardware Malfunction\n\n");
40 HalDisplayString ("Call your hardware vendor for support\n\n");
43 HalDisplayString ("NMI: Parity Check / Memory Parity Error\n");
46 HalDisplayString ("NMI: Channel Check / IOCHK\n");
48 HalDisplayString ("\n*** The system has halted ***\n");
49 KeEnterKernelDebugger ();
54 HalProcessorIdle(VOID
)
57 Ki386EnableInterrupts();
65 HalRequestIpi(ULONG ProcessorNo
)
67 DPRINT("HalRequestIpi(ProcessorNo %d)\n", ProcessorNo
);
69 APICSendIPI(1 << ProcessorNo
,
70 IPI_VECTOR
|APIC_ICR0_LEVEL_DEASSERT
|APIC_ICR0_DESTM
);
75 HalSystemVectorDispatchEntry (
86 KeFlushWriteBuffer(VOID
)
93 HalReportResourceUsage(VOID
)
96 * FIXME: Report all resources used by hal.
97 * Calls IoReportHalResourceUsage()
100 /* Initialize PCI bus. */
104 HaliReconfigurePciInterrupts();