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