xref: /reactos/hal/halx86/include/hal.h (revision a0fb02f7)
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