1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS Hardware Abstraction Layer 4 * FILE: hal/halx86/include/hal.h 5 * PURPOSE: HAL Header 6 * PROGRAMMER: Alex Ionescu (alex@relsoft.net) 7 */ 8 9 #ifndef _HAL_PCH_ 10 #define _HAL_PCH_ 11 12 /* INCLUDES ******************************************************************/ 13 14 /* C Headers */ 15 #include <stdio.h> 16 17 /* WDK HAL Compilation hack */ 18 #include <excpt.h> 19 #include <ntdef.h> 20 #ifndef _MINIHAL_ 21 #undef NTSYSAPI 22 #define NTSYSAPI __declspec(dllimport) 23 #else 24 #undef NTSYSAPI 25 #define NTSYSAPI 26 #endif 27 28 /* IFS/DDK/NDK Headers */ 29 #include <ntifs.h> 30 #include <arc/arc.h> 31 32 #include <ndk/asm.h> 33 #include <ndk/halfuncs.h> 34 #include <ndk/inbvfuncs.h> 35 #include <ndk/iofuncs.h> 36 #include <ndk/kefuncs.h> 37 #include <ndk/rtlfuncs.h> 38 39 /* For MSVC, this is required before using DATA_SEG (used in pcidata) */ 40 #ifdef _MSC_VER 41 # pragma section("INIT", read,execute,discard) 42 # pragma section("INITDATA", read,discard) 43 #endif 44 45 /* Internal shared PCI and ACPI header */ 46 #include <drivers/pci/pci.h> 47 #include <drivers/acpi/acpi.h> 48 49 /* Internal kernel headers */ 50 #ifdef _M_AMD64 51 #include <internal/amd64/ke.h> 52 #include <internal/amd64/mm.h> 53 #include "internal/amd64/intrin_i.h" 54 #else 55 #define KeGetCurrentThread _KeGetCurrentThread 56 #include <internal/i386/ke.h> 57 #include <internal/i386/mm.h> 58 #include "internal/i386/intrin_i.h" 59 #endif 60 61 #define TAG_HAL ' laH' 62 #define TAG_BUS_HANDLER 'BusH' 63 64 /* Internal HAL Headers */ 65 #include "bus.h" 66 #include "halirq.h" 67 #include "haldma.h" 68 #if defined(SARCH_PC98) 69 #include <drivers/pc98/cpu.h> 70 #include <drivers/pc98/pic.h> 71 #include <drivers/pc98/pit.h> 72 #include <drivers/pc98/rtc.h> 73 #include <drivers/pc98/sysport.h> 74 #include <drivers/pc98/video.h> 75 #else 76 #include "halhw.h" 77 #endif 78 #include "halp.h" 79 #include "mps.h" 80 #include "halacpi.h" 81 82 #endif /* _HAL_PCH_ */ 83