Reactos
at master 82 lines 1.9 kB view raw
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_ */