xref: /reactos/hal/halx86/include/hal.h (revision 7115d7ba)
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 /* Internal shared PCI and ACPI header */
40 #include <drivers/pci/pci.h>
41 #include <drivers/acpi/acpi.h>
42 
43 /* Internal kernel headers */
44 #define KeGetCurrentThread _KeGetCurrentThread
45 #ifdef _M_AMD64
46 #include <internal/amd64/ke.h>
47 #include <internal/amd64/mm.h>
48 #include "internal/amd64/intrin_i.h"
49 #else
50 #include <internal/i386/ke.h>
51 #include <internal/i386/mm.h>
52 #include "internal/i386/intrin_i.h"
53 #endif
54 
55 #define TAG_HAL    ' laH'
56 #define TAG_BUS_HANDLER 'BusH'
57 
58 /* Internal HAL Headers */
59 #include "bus.h"
60 #include "halirq.h"
61 #include "haldma.h"
62 #if defined(SARCH_PC98)
63 #include <drivers/pc98/cpu.h>
64 #include <drivers/pc98/pic.h>
65 #include <drivers/pc98/pit.h>
66 #include <drivers/pc98/rtc.h>
67 #include <drivers/pc98/sysport.h>
68 #include <drivers/pc98/video.h>
69 #else
70 #include "halhw.h"
71 #endif
72 #include "halp.h"
73 #include "mps.h"
74 #include "halacpi.h"
75 
76 #endif /* _HAL_PCH_ */
77