ReactOS  0.4.15-dev-2522-g9e0a3cd
hal.h
Go to the documentation of this file.
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 #endif
43 
44 /* Internal shared PCI and ACPI header */
45 #include <drivers/pci/pci.h>
46 #include <drivers/acpi/acpi.h>
47 
48 /* Internal kernel headers */
49 #define KeGetCurrentThread _KeGetCurrentThread
50 #ifdef _M_AMD64
51 #include <internal/amd64/ke.h>
52 #include <internal/amd64/mm.h>
54 #else
55 #include <internal/i386/ke.h>
56 #include <internal/i386/mm.h>
57 #include "internal/i386/intrin_i.h"
58 #endif
59 
60 #define TAG_HAL ' laH'
61 #define TAG_BUS_HANDLER 'BusH'
62 
63 /* Internal HAL Headers */
64 #include "bus.h"
65 #include "halirq.h"
66 #include "haldma.h"
67 #if defined(SARCH_PC98)
68 #include <drivers/pc98/cpu.h>
69 #include <drivers/pc98/pic.h>
70 #include <drivers/pc98/pit.h>
71 #include <drivers/pc98/rtc.h>
72 #include <drivers/pc98/sysport.h>
73 #include <drivers/pc98/video.h>
74 #else
75 #include "halhw.h"
76 #endif
77 #include "halp.h"
78 #include "mps.h"
79 #include "halacpi.h"
80 
81 #endif /* _HAL_PCH_ */