Create a branch for header work.
[reactos.git] / reactos / hal / halppc / include / bus.h
diff --git a/reactos/hal/halppc/include/bus.h b/reactos/hal/halppc/include/bus.h
deleted file mode 100644 (file)
index e13c5ac..0000000
+++ /dev/null
@@ -1,291 +0,0 @@
-#pragma once
-
-//
-// Helper Macros
-//
-#define PASTE2(x,y)                                                     x ## y
-#define POINTER_TO_(x)                                                  PASTE2(P,x)
-#define READ_FROM(x)                                                    PASTE2(READ_PORT_, x)
-#define WRITE_TO(x)                                                     PASTE2(WRITE_PORT_, x)
-
-//
-// Declares a PCI Register Read/Write Routine
-//
-#define TYPE_DEFINE(x, y)                                               \
-    ULONG                                                               \
-    NTAPI                                                               \
-    x(                                                                  \
-        IN PPCIPBUSDATA BusData,                                        \
-        IN y PciCfg,                                                    \
-        IN PUCHAR Buffer,                                               \
-        IN ULONG Offset                                                 \
-    )
-#define TYPE1_DEFINE(x) TYPE_DEFINE(x, PPCI_TYPE1_CFG_BITS);
-#define TYPE2_DEFINE(x) TYPE_DEFINE(x, PPCI_TYPE2_ADDRESS_BITS);
-
-//
-// Defines a PCI Register Read/Write Type 1 Routine Prologue and Epilogue
-//
-#define TYPE1_START(x, y)                                               \
-    TYPE_DEFINE(x, PPCI_TYPE1_CFG_BITS)                                 \
-{                                                                       \
-    ULONG i = Offset % sizeof(ULONG);                                   \
-    PciCfg->u.bits.RegisterNumber = Offset / sizeof(ULONG);             \
-    WRITE_PORT_ULONG(BusData->Config.Type1.Address, PciCfg->u.AsULONG);
-#define TYPE1_END(y)                                                    \
-    return sizeof(y); }
-#define TYPE2_END       TYPE1_END
-
-//
-// PCI Register Read Type 1 Routine
-//
-#define TYPE1_READ(x, y)                                                \
-    TYPE1_START(x, y)                                                   \
-    *((POINTER_TO_(y))Buffer) =                                         \
-    READ_FROM(y)((POINTER_TO_(y))(BusData->Config.Type1.Data + i));     \
-    TYPE1_END(y)
-
-//
-// PCI Register Write Type 1 Routine
-//
-#define TYPE1_WRITE(x, y)                                               \
-    TYPE1_START(x, y)                                                   \
-    WRITE_TO(y)((POINTER_TO_(y))(BusData->Config.Type1.Data + i),       \
-                *((POINTER_TO_(y))Buffer));                             \
-    TYPE1_END(y)
-
-//
-// Defines a PCI Register Read/Write Type 2 Routine Prologue and Epilogue
-//
-#define TYPE2_START(x, y)                                               \
-    TYPE_DEFINE(x, PPCI_TYPE2_ADDRESS_BITS)                             \
-{                                                                       \
-    PciCfg->u.bits.RegisterNumber = (USHORT)Offset;
-
-//
-// PCI Register Read Type 2 Routine
-//
-#define TYPE2_READ(x, y)                                                \
-    TYPE2_START(x, y)                                                   \
-    *((POINTER_TO_(y))Buffer) =                                         \
-        READ_FROM(y)((POINTER_TO_(y))(ULONG)PciCfg->u.AsUSHORT);        \
-    TYPE2_END(y)
-
-//
-// PCI Register Write Type 2 Routine
-//
-#define TYPE2_WRITE(x, y)                                               \
-    TYPE2_START(x, y)                                                   \
-    WRITE_TO(y)((POINTER_TO_(y))(ULONG)PciCfg->u.AsUSHORT,              \
-                *((POINTER_TO_(y))Buffer));                             \
-    TYPE2_END(y)
-
-typedef struct _PCIPBUSDATA
-{
-    PCIBUSDATA CommonData;
-    union
-    {
-        struct
-        {
-            PULONG Address;
-            ULONG Data;
-        } Type1;
-        struct
-        {
-            PUCHAR CSE;
-            PUCHAR Forward;
-            ULONG Base;
-        } Type2;
-    } Config;
-    ULONG MaxDevice;
-} PCIPBUSDATA, *PPCIPBUSDATA;
-
-typedef ULONG
-(NTAPI *FncConfigIO)(
-    IN PPCIPBUSDATA BusData,
-    IN PVOID State,
-    IN PUCHAR Buffer,
-    IN ULONG Offset
-);
-
-typedef VOID
-(NTAPI *FncSync)(
-    IN PBUS_HANDLER BusHandler,
-    IN PCI_SLOT_NUMBER Slot,
-    IN PKIRQL Irql,
-    IN PVOID State
-);
-
-typedef VOID
-(NTAPI *FncReleaseSync)(
-    IN PBUS_HANDLER BusHandler,
-    IN KIRQL Irql
-);
-
-typedef struct _PCI_CONFIG_HANDLER
-{
-    FncSync Synchronize;
-    FncReleaseSync ReleaseSynchronzation;
-    FncConfigIO ConfigRead[3];
-    FncConfigIO ConfigWrite[3];
-} PCI_CONFIG_HANDLER, *PPCI_CONFIG_HANDLER;
-
-typedef struct _PCI_REGISTRY_INFO_INTERNAL
-{
-    UCHAR MajorRevision;
-    UCHAR MinorRevision;
-    UCHAR NoBuses;
-    UCHAR HardwareMechanism;
-    ULONG ElementCount;
-    PCI_CARD_DESCRIPTOR CardList[ANYSIZE_ARRAY];
-} PCI_REGISTRY_INFO_INTERNAL, *PPCI_REGISTRY_INFO_INTERNAL;
-
-/* FUNCTIONS *****************************************************************/
-
-VOID
-NTAPI
-HalpPCISynchronizeType1(
-    IN PBUS_HANDLER BusHandler,
-    IN PCI_SLOT_NUMBER Slot,
-    IN PKIRQL Irql,
-    IN PPCI_TYPE1_CFG_BITS PciCfg
-);
-
-VOID
-NTAPI
-HalpPCIReleaseSynchronzationType1(
-    IN PBUS_HANDLER BusHandler,
-    IN KIRQL Irql
-);
-
-VOID
-NTAPI
-HalpPCISynchronizeType2(
-    IN PBUS_HANDLER BusHandler,
-    IN PCI_SLOT_NUMBER Slot,
-    IN PKIRQL Irql,
-    IN PPCI_TYPE2_ADDRESS_BITS PciCfg
-);
-
-VOID
-NTAPI
-HalpPCIReleaseSynchronzationType2(
-    IN PBUS_HANDLER BusHandler,
-    IN KIRQL Irql
-);
-
-TYPE1_DEFINE(HalpPCIReadUcharType1);
-TYPE1_DEFINE(HalpPCIReadUshortType1);
-TYPE1_DEFINE(HalpPCIReadUlongType1);
-TYPE2_DEFINE(HalpPCIReadUcharType2);
-TYPE2_DEFINE(HalpPCIReadUshortType2);
-TYPE2_DEFINE(HalpPCIReadUlongType2);
-TYPE1_DEFINE(HalpPCIWriteUcharType1);
-TYPE1_DEFINE(HalpPCIWriteUshortType1);
-TYPE1_DEFINE(HalpPCIWriteUlongType1);
-TYPE2_DEFINE(HalpPCIWriteUcharType2);
-TYPE2_DEFINE(HalpPCIWriteUshortType2);
-TYPE2_DEFINE(HalpPCIWriteUlongType2);
-
-BOOLEAN
-NTAPI
-HalpValidPCISlot(
-    IN PBUS_HANDLER BusHandler,
-    IN PCI_SLOT_NUMBER Slot
-);
-
-VOID
-NTAPI
-HalpReadPCIConfig(
-    IN PBUS_HANDLER BusHandler,
-    IN PCI_SLOT_NUMBER Slot,
-    IN PVOID Buffer,
-    IN ULONG Offset,
-    IN ULONG Length
-);
-
-VOID
-NTAPI
-HalpWritePCIConfig(
-    IN PBUS_HANDLER BusHandler,
-    IN PCI_SLOT_NUMBER Slot,
-    IN PVOID Buffer,
-    IN ULONG Offset,
-    IN ULONG Length
-);
-
-ULONG
-NTAPI
-HalpGetSystemInterruptVector(
-    ULONG BusNumber,
-    ULONG BusInterruptLevel,
-    ULONG BusInterruptVector,
-    PKIRQL Irql,
-    PKAFFINITY Affinity
-);
-
-ULONG
-NTAPI
-HalpGetCmosData(
-    IN ULONG BusNumber,
-    IN ULONG SlotNumber,
-    IN PVOID Buffer,
-    IN ULONG Length
-);
-
-ULONG
-NTAPI
-HalpSetCmosData(
-    IN ULONG BusNumber,
-    IN ULONG SlotNumber,
-    IN PVOID Buffer,
-    IN ULONG Length
-);
-
-ULONG
-NTAPI
-HalpGetPCIData(
-    IN PBUS_HANDLER BusHandler,
-    IN PBUS_HANDLER RootBusHandler,
-    IN PCI_SLOT_NUMBER SlotNumber,
-    IN PUCHAR Buffer,
-    IN ULONG Offset,
-    IN ULONG Length
-);
-
-ULONG
-NTAPI
-HalpSetPCIData(
-    IN PBUS_HANDLER BusHandler,
-    IN PBUS_HANDLER RootBusHandler,
-    IN PCI_SLOT_NUMBER SlotNumber,
-    IN PUCHAR Buffer,
-    IN ULONG Offset,
-    IN ULONG Length
-);
-
-NTSTATUS
-NTAPI
-HalpAssignPCISlotResources(
-    IN PBUS_HANDLER BusHandler,
-    IN PBUS_HANDLER RootHandler,
-    IN PUNICODE_STRING RegistryPath,
-    IN PUNICODE_STRING DriverClassName OPTIONAL,
-    IN PDRIVER_OBJECT DriverObject,
-    IN PDEVICE_OBJECT DeviceObject OPTIONAL,
-    IN ULONG Slot,
-    IN OUT PCM_RESOURCE_LIST *pAllocatedResources
-);
-
-VOID
-NTAPI
-HalpInitializePciBus(
-    VOID
-);
-
-extern ULONG HalpBusType;
-extern BOOLEAN HalpPCIConfigInitialized;
-extern BUS_HANDLER HalpFakePciBusHandler;
-extern ULONG HalpMinPciBus, HalpMaxPciBus;
-
-/* EOF */