Data Structures |
| struct | PPCIPBUSDATA |
| struct | PPCI_CONFIG_HANDLER |
| struct | PPCI_REGISTRY_INFO_INTERNAL |
| struct | PPCI_TYPE1_CFG_BITS |
| struct | PPCI_TYPE2_CSE_BITS |
| struct | PPCI_TYPE2_ADDRESS_BITS |
| struct | PPCI_TYPE0_CFG_CYCLE_BITS |
| struct | PPCI_TYPE1_CFG_CYCLE_BITS |
| struct | PARRAY |
| struct | PHAL_BUS_HANDLER |
Defines |
| #define | PCI_ADDRESS_MEMORY_SPACE 0x00000000 |
| #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) |
| #define | TYPE_DEFINE(x, y) |
| #define | TYPE1_DEFINE(x) TYPE_DEFINE(x, PPCI_TYPE1_CFG_BITS); |
| #define | TYPE2_DEFINE(x) TYPE_DEFINE(x, PPCI_TYPE2_ADDRESS_BITS); |
| #define | TYPE1_START(x, y) |
| #define | TYPE1_END(y) return sizeof(y); } |
| #define | TYPE2_END TYPE1_END |
| #define | TYPE1_READ(x, y) |
| #define | TYPE1_WRITE(x, y) |
| #define | TYPE2_START(x, y) |
| #define | TYPE2_READ(x, y) |
| #define | TYPE2_WRITE(x, y) |
| #define | PCI_TYPE1_ADDRESS_PORT (PULONG)0xCF8 |
| #define | PCI_TYPE1_DATA_PORT 0xCFC |
| #define | PCI_TYPE2_CSE_PORT (PUCHAR)0xCF8 |
| #define | PCI_TYPE2_FORWARD_PORT (PUCHAR)0xCFA |
| #define | PCI_TYPE2_ADDRESS_BASE 0xC |
Typedefs |
| typedef NTSTATUS(NTAPI * | PciIrqRange )(IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PCI_SLOT_NUMBER PciSlot, OUT PSUPPORTED_RANGE *Interrupt) |
| 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) |
Functions |
| PPCI_REGISTRY_INFO_INTERNAL NTAPI | HalpQueryPciRegistryInfo (VOID) |
| 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 | HalpPCIReleaseSynchronizationType2 (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 | HalpGetPCIData (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootBusHandler, IN PCI_SLOT_NUMBER SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) |
| ULONG NTAPI | HalpSetPCIData (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootBusHandler, IN PCI_SLOT_NUMBER SlotNumber, IN PVOID 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) |
| ULONG NTAPI | HalpGetSystemInterruptVector_Acpi (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) |
| VOID NTAPI | HalpInitializePciBus (VOID) |
| VOID NTAPI | HalpInitializePciStubs (VOID) |
| BOOLEAN NTAPI | HalpTranslateBusAddress (IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress) |
| NTSTATUS NTAPI | HalpAssignSlotResources (IN PUNICODE_STRING RegistryPath, IN PUNICODE_STRING DriverClassName, IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT DeviceObject, IN INTERFACE_TYPE BusType, IN ULONG BusNumber, IN ULONG SlotNumber, IN OUT PCM_RESOURCE_LIST *AllocatedResources) |
| BOOLEAN NTAPI | HalpFindBusAddressTranslation (IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress, IN OUT PULONG_PTR Context, IN BOOLEAN NextBus) |
| VOID NTAPI | HalpRegisterPciDebuggingDeviceInfo (VOID) |
| BOOLEAN NTAPI | HaliTranslateBusAddress (IN INTERFACE_TYPE InterfaceType, IN ULONG BusNumber, IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress) |
| BOOLEAN NTAPI | HaliFindBusAddressTranslation (IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress, IN OUT PULONG_PTR Context, IN BOOLEAN NextBus) |
| NTSTATUS NTAPI | HalpAdjustPCIResourceList (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList) |
| ULONG NTAPI | HalpGetPCIIntOnISABus (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG BusInterruptLevel, IN ULONG BusInterruptVector, OUT PKIRQL Irql, OUT PKAFFINITY Affinity) |
| VOID NTAPI | HalpPCIPin2ISALine (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PCI_SLOT_NUMBER SlotNumber, IN PPCI_COMMON_CONFIG PciData) |
| VOID NTAPI | HalpPCIISALine2Pin (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PCI_SLOT_NUMBER SlotNumber, IN PPCI_COMMON_CONFIG PciNewData, IN PPCI_COMMON_CONFIG PciOldData) |
| NTSTATUS NTAPI | HalpGetISAFixedPCIIrq (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PCI_SLOT_NUMBER PciSlot, OUT PSUPPORTED_RANGE *Range) |
| VOID NTAPI | HalpInitBusHandler (VOID) |
| PBUS_HANDLER NTAPI | HalpContextToBusHandler (IN ULONG_PTR ContextValue) |
| PBUS_HANDLER FASTCALL | HaliReferenceHandlerForConfigSpace (IN BUS_DATA_TYPE ConfigType, IN ULONG BusNumber) |
| ULONG NTAPI | HalpNoBusData (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) |
| ULONG NTAPI | HalpcGetCmosData (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) |
| ULONG NTAPI | HalpcSetCmosData (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) |
| BOOLEAN NTAPI | HalpTranslateSystemBusAddress (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress) |
| BOOLEAN NTAPI | HalpTranslateIsaBusAddress (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PHYSICAL_ADDRESS BusAddress, IN OUT PULONG AddressSpace, OUT PPHYSICAL_ADDRESS TranslatedAddress) |
| ULONG NTAPI | HalpGetSystemInterruptVector (IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG BusInterruptLevel, IN ULONG BusInterruptVector, OUT PKIRQL Irql, OUT PKAFFINITY Affinity) |
Variables |
| PCI_CONFIG_HANDLER | PCIConfigHandler |
| PCI_CONFIG_HANDLER | PCIConfigHandlerType1 |
| PCI_CONFIG_HANDLER | PCIConfigHandlerType2 |
| ULONG | HalpBusType |
| BOOLEAN | HalpPCIConfigInitialized |
| BUS_HANDLER | HalpFakePciBusHandler |
| ULONG | HalpMinPciBus |
| ULONG | HalpMaxPciBus |
| LIST_ENTRY | HalpAllBusHandlers |