3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: hal/halx86/generic/misc.c
5 * PURPOSE: Miscellanous Routines
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 * Eric Kohl (ekohl@abo.rhein-zeitung.de)
10 /* INCLUDES ******************************************************************/
16 /* PRIVATE FUNCTIONS *********************************************************/
20 HalpCheckPowerButton(VOID
)
22 /* Nothing to do on non-ACPI */
28 HalpMapPhysicalMemory64(IN PHYSICAL_ADDRESS PhysicalAddress
,
31 /* Use kernel memory manager I/O map facilities */
32 return MmMapIoSpace(PhysicalAddress
,
33 NumberPage
<< PAGE_SHIFT
,
39 HalpUnmapVirtualAddress(IN PVOID VirtualAddress
,
42 /* Use kernel memory manager I/O map facilities */
43 MmUnmapIoSpace(VirtualAddress
, NumberPages
<< PAGE_SHIFT
);
46 /* FUNCTIONS *****************************************************************/
53 HalHandleNMI(IN PVOID NmiInfo
)
57 /* Get the NMI Flag */
58 ucStatus
= READ_PORT_UCHAR((PUCHAR
)0x61);
60 /* Display NMI failure string */
61 HalDisplayString ("\n*** Hardware Malfunction\n\n");
62 HalDisplayString ("Call your hardware vendor for support\n\n");
64 /* Check for parity error */
68 HalDisplayString ("NMI: Parity Check / Memory Parity Error\n");
71 /* Check for I/O failure */
75 HalDisplayString ("NMI: Channel Check / IOCHK\n");
79 HalDisplayString("\n*** The system has halted ***\n");
80 //KeEnterKernelDebugger();
88 HalSystemVectorDispatchEntry(IN ULONG Vector
,
89 OUT PKINTERRUPT_ROUTINE
**FlatDispatch
,
90 OUT PKINTERRUPT_ROUTINE
*NoConnection
)
92 /* Not implemented on x86 */
101 KeFlushWriteBuffer(VOID
)
103 /* Not implemented on x86 */