124 PciCfg1->u.AsULONG = 0;
125 PciCfg1->u.bits.BusNumber = BusHandler->BusNumber;
126 PciCfg1->u.bits.DeviceNumber = Slot.u.bits.DeviceNumber;
127 PciCfg1->u.bits.FunctionNumber = Slot.u.bits.FunctionNumber;
128 PciCfg1->u.bits.Enable =
TRUE;
171 PciCfg->u.AsUSHORT = 0;
172 PciCfg->u.bits.Agent = (
USHORT)Slot.u.bits.DeviceNumber;
182 PciCfg2Cse.
u.
bits.FunctionNumber = (
UCHAR)Slot.u.bits.FunctionNumber;
183 PciCfg2Cse.
u.
bits.Key = -1;
187 (
UCHAR)BusHandler->BusNumber);
305 HalpXboxBlacklistedPCISlot(
314 if ((
BusNumber == 0 && Slot.u.bits.DeviceNumber == 0 &&
315 (Slot.u.bits.FunctionNumber == 1 || Slot.u.bits.FunctionNumber == 2)) ||
316 (
BusNumber == 1 && Slot.u.bits.DeviceNumber != 0))
318 DPRINT(
"Blacklisted PCI slot (%d:%d:%d)\n",
319 BusNumber, Slot.u.bits.DeviceNumber, Slot.u.bits.FunctionNumber);
338 if (Slot.u.bits.Reserved)
return FALSE;
342 if (HalpXboxBlacklistedPCISlot(BusHandler->BusNumber, Slot))
347 if (!Slot.u.bits.FunctionNumber)
return TRUE;
352 MultiSlot.
u.
bits.FunctionNumber = 0;
380 if (HalpXboxBlacklistedPCISlot(Bus, PciSlot))
388 PciCfg.
u.
bits.BusNumber = Bus;
389 PciCfg.
u.
bits.DeviceNumber = PciSlot.u.bits.DeviceNumber;
390 PciCfg.
u.
bits.FunctionNumber = PciSlot.u.bits.FunctionNumber;
449 if (HalpXboxBlacklistedPCISlot(Bus, PciSlot))
456 PciCfg.
u.
bits.BusNumber = Bus;
457 PciCfg.
u.
bits.DeviceNumber = PciSlot.u.bits.DeviceNumber;
458 PciCfg.
u.
bits.FunctionNumber = PciSlot.u.bits.FunctionNumber;
521 if (HalpXboxBlacklistedPCISlot(BusHandler->BusNumber, Slot))
601 if (HalpXboxBlacklistedPCISlot(BusHandler->BusNumber, Slot))
711 BusHandler->BusNumber,
733 if ((PciData.u.type0.InterruptLine == 0) ||
734 (PciData.u.type0.InterruptLine == 255))
741 (*Range)->Base = PciData.u.type0.InterruptLine;
742 (*Range)->Limit = PciData.u.type0.InterruptLine;
767 BusData = BusHandler->BusData;
768 SlotNumber.u.AsULONG = (*pResourceList)->SlotNumber;
783 Status = HaliAdjustResourceListRange(BusHandler->BusAddresses,
787 DPRINT1(
"HAL: No PCI Resource Adjustment done! Hardware may malfunction\n");
816 DPRINT1(
"WARNING: PCI Slot Resource Assignment is FOOBAR\n");
833 if (0xffffffff == PciConfig.u.type0.BaseAddresses[
Address])
834 PciConfig.u.type0.BaseAddresses[
Address] = 0;
837 if (0 != PciConfig.u.type0.BaseAddresses[
Address])
856 if (0 != PciConfig.u.type0.InterruptPin &&
857 0 != PciConfig.u.type0.InterruptLine &&
858 0xFF != PciConfig.u.type0.InterruptLine)
871 (*AllocatedResources)->Count = 1;
872 (*AllocatedResources)->List[0].InterfaceType =
PCIBus;
873 (*AllocatedResources)->List[0].BusNumber = BusHandler->BusNumber;
874 (*AllocatedResources)->List[0].PartialResourceList.Version = 1;
875 (*AllocatedResources)->List[0].PartialResourceList.Revision = 1;
876 (*AllocatedResources)->List[0].PartialResourceList.Count =
ResourceCount;
877 Descriptor = (*AllocatedResources)->List[0].PartialResourceList.PartialDescriptors;
882 if (0 != PciConfig.u.type0.BaseAddresses[
Address])
885 (PciConfig.u.type0.BaseAddresses[
Address] & 0
x1))
894 (PciConfig.u.type0.BaseAddresses[
Address] & 0
x1))
911 if (0 != PciConfig.u.type0.InterruptPin &&
912 0 != PciConfig.u.type0.InterruptLine &&
913 0xFF != PciConfig.u.type0.InterruptLine)
918 Descriptor->u.Interrupt.Level = PciConfig.u.type0.InterruptLine;
919 Descriptor->u.Interrupt.Vector = PciConfig.u.type0.InterruptLine;
920 Descriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
982 L"\\Registry\\Machine\\Hardware\\Description\\" 983 L"System\\MultiFunctionAdapter");
996 KeyName.MaximumLength =
sizeof(NameBuffer);
1023 Status = ZwQueryValueKey(BusKeyHandle,
1038 if ((
Tag[0] !=
L'P') ||
1049 Status = ZwQueryValueKey(BusKeyHandle,
1060 ((
ULONG_PTR)ValueInfo + ValueInfo->DataOffset);
1063 PartialResourceList.PartialDescriptors);
1084 L"\\Registry\\Machine\\System\\CurrentControlSet\\" 1085 L"Control\\PnP\\PCI\\CardList");
1097 Status = ZwQueryKey(CardListHandle,
1105 PciRegistryInfo =
NULL;
1116 if (PciRegistryInfo)
1122 for (
i = 0;
i < KeyInformation.
Values;
i++)
1125 Status = ZwEnumerateValueKey(CardListHandle,
1129 sizeof(PartialKeyBuffer),
1142 PartialValueInfo->
Data;
1148 CardDescriptor = (CardDescriptor + 1);
1160 PciRegistryInfo =
NULL;
1164 if (!PciRegistryInfo)
1170 if (!PciRegistryInfo)
return NULL;
1181 return PciRegistryInfo;
1198 ULONG MaxPciBusNumber;
1202 if (!PciRegistryInfo)
1216 MaxPciBusNumber = PciRegistryInfo->
NoBuses - 1;
1261 DbgPrint(
"HAL: Unknown PCI type\n");
1271 MaxPciBusNumber = 0;
1277 for (
j.u.AsULONG = 0;
j.u.AsULONG < BusData->
MaxDevice;
j.u.AsULONG++)
1291 MaxPciBusNumber =
i;
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
_In_ WDFIORESREQLIST _In_ ULONG SlotNumber
#define DEFAULT_UNREACHABLE
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
_In_ ULONG _In_ ULONG BusInterruptLevel
#define PCI_TYPE0_ADDRESSES
#define CmResourceTypeDeviceSpecific
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR * PCM_PARTIAL_RESOURCE_DESCRIPTOR
#define PCI_ADDRESS_IO_ADDRESS_MASK
ULONG NTAPI HalpGetPCIData(IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
#define STATUS_INSUFFICIENT_RESOURCES
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Must_inspect_result_ _In_ WDFIORESLIST _In_ PIO_RESOURCE_DESCRIPTOR Descriptor
VOID NTAPI WRITE_PORT_USHORT(IN PUSHORT Port, IN USHORT Value)
#define OBJ_CASE_INSENSITIVE
_Must_inspect_result_ _Out_ PNDIS_STATUS _In_ NDIS_HANDLE _In_ ULONG _Out_ PNDIS_STRING _Out_ PNDIS_HANDLE KeyHandle
#define READ_PORT_UCHAR(p)
IN BOOLEAN OUT PSTR Buffer
_Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PDEVICE_OBJECT _Inout_opt_ PCM_RESOURCE_LIST * AllocatedResources
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
#define PCI_MULTIFUNCTION
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
VOID NTAPI KeAcquireSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock)
VOID NTAPI HalpPCIReleaseSynchronizationType2(IN PBUS_HANDLER BusHandler, IN KIRQL OldIrql)
ULONG NTAPI HalpGetPCIIntOnISABus(IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG BusInterruptLevel, IN ULONG BusInterruptVector, OUT PKIRQL Irql, OUT PKAFFINITY Affinity)
_Must_inspect_result_ _In_ PDRIVER_OBJECT _In_ PCUNICODE_STRING RegistryPath
struct _PCI_COMMON_CONFIG * PPCI_COMMON_CONFIG
ULONG NTAPI READ_PORT_ULONG(IN PULONG Port)
IN PVOID IN PVOID IN USHORT IN USHORT Size
struct _CM_FULL_RESOURCE_DESCRIPTOR CM_FULL_RESOURCE_DESCRIPTOR
VOID NTAPI HalpPCIReleaseSynchronzationType1(IN PBUS_HANDLER BusHandler, IN KIRQL OldIrql)
union _PCI_SLOT_NUMBER::@3802 u
#define PCI_TYPE2_CSE_PORT
_In_ ULONG _In_ ULONG _In_ ULONG BusInterruptVector
#define CM_RESOURCE_MEMORY_READ_WRITE
#define CmResourceTypePort
#define RtlMoveMemory(Destination, Source, Length)
_In_opt_ PUNICODE_STRING DriverClassName
FncReleaseSync ReleaseSynchronzation
_In_ PDEVICE_OBJECT DeviceObject
#define TYPE2_WRITE(x, y)
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
union _PCIPBUSDATA::@1436 Config
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
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)
union _PCI_TYPE2_CSE_BITS::@1441 u
struct _PCIPBUSDATA::@1436::@1438 Type2
#define PCI_ADDRESS_MEMORY_ADDRESS_MASK
ULONG(NTAPI * PGETSETBUSDATA)(_In_ PBUS_HANDLER BusHandler, _In_ PBUS_HANDLER RootHandler, _In_ ULONG SlotNumber, _Out_ PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
struct _PCI_CARD_DESCRIPTOR * PPCI_CARD_DESCRIPTOR
BOOLEAN NTAPI HalpValidPCISlot(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER Slot)
struct _CM_FULL_RESOURCE_DESCRIPTOR * PCM_FULL_RESOURCE_DESCRIPTOR
ULONG(NTAPI * FncConfigIO)(IN PPCIPBUSDATA BusData, IN PVOID State, IN PUCHAR Buffer, IN ULONG Offset)
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
BOOLEAN HalpPciLockSettings
NTSTATUS NTAPI HalpGetISAFixedPCIIrq(IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PCI_SLOT_NUMBER PciSlot, OUT PSUPPORTED_RANGE *Range)
VOID NTAPI HalpPCIPin2ISALine(IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN PCI_SLOT_NUMBER SlotNumber, IN PPCI_COMMON_CONFIG PciData)
VOID(NTAPI * FncReleaseSync)(IN PBUS_HANDLER BusHandler, IN KIRQL Irql)
#define _Out_writes_bytes_all_(size)
NTHALAPI ULONG NTAPI HalGetInterruptVector(INTERFACE_TYPE, ULONG, ULONG, ULONG, PKIRQL, PKAFFINITY)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PCUNICODE_STRING KeyName
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
struct _PCI_TYPE2_CSE_BITS::@1441::@1442 bits
#define PCI_TYPE1_ADDRESS_PORT
struct _PCIPBUSDATA * PPCIPBUSDATA
NTSYSAPI NTSTATUS NTAPI RtlIntegerToUnicodeString(ULONG Value, ULONG Base, PUNICODE_STRING String)
PCI_CONFIG_HANDLER PCIConfigHandler
#define PCI_INVALID_VENDORID
PCIPBUSDATA HalpFakePciBusData
#define NT_SUCCESS(StatCode)
#define STATUS_NO_SUCH_DEVICE
ULONG HalpPhase0SetPciDataByOffset(_In_ ULONG Bus, _In_ PCI_SLOT_NUMBER PciSlot, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
#define RtlFillMemory(Dest, Length, Fill)
VOID(NTAPI * FncSync)(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER Slot, IN PKIRQL Irql, IN PVOID State)
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
VOID NTAPI HalpPCIConfig(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER Slot, IN PUCHAR Buffer, IN ULONG Offset, IN ULONG Length, IN FncConfigIO *ConfigIO)
KSPIN_LOCK HalpPCIConfigLock
struct _PCI_SLOT_NUMBER::@3802::@3803 bits
#define STATUS_UNSUCCESSFUL
#define ExAllocatePoolWithTag(hernya, size, tag)
static ULONG ResourceCount
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
#define WRITE_PORT_UCHAR(p, d)
struct _PCI_COMMON_CONFIG PCI_COMMON_CONFIG
PCI_CONFIG_HANDLER PCIConfigHandlerType2
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
ULONG HalpPhase0GetPciDataByOffset(_In_ ULONG Bus, _In_ PCI_SLOT_NUMBER PciSlot, _Out_writes_bytes_all_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
BUS_HANDLER HalpFakePciBusHandler
_In_ ULONG _In_ ULONG Offset
struct _PCI_TYPE1_CFG_BITS::@152::@153 bits
FncConfigIO ConfigRead[3]
VOID NTAPI HalpInitializePciStubs(VOID)
#define PCI_TYPE2_FORWARD_PORT
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define CM_RESOURCE_PORT_IO
VOID NTAPI HalpWritePCIConfig(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER Slot, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
NTSTATUS NTAPI HalpAdjustPCIResourceList(IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *pResourceList)
struct _KEY_VALUE_PARTIAL_INFORMATION KEY_VALUE_PARTIAL_INFORMATION
#define FIELD_OFFSET(t, f)
PCI_CONFIG_HANDLER PCIConfigHandlerType1
FncConfigIO ConfigWrite[3]
#define KeReleaseSpinLock(sl, irql)
#define CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE
VOID NTAPI KeRaiseIrql(KIRQL NewIrql, PKIRQL OldIrql)
#define CmResourceTypeInterrupt
struct _PCIPBUSDATA::@1436::@1437 Type1
#define PCI_TYPE2_ADDRESS_BASE
#define UNIMPLEMENTED_DBGBREAK(...)
#define TYPE1_WRITE(x, y)
union _PCI_TYPE1_CFG_BITS::@152 u
VOID NTAPI HalpPCISynchronizeType1(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER Slot, OUT PKIRQL OldIrql, OUT PPCI_TYPE1_CFG_BITS PciCfg1)
BOOLEAN HalpPCIConfigInitialized
#define PCI_TYPE1_DATA_PORT
#define PCI_ADDRESS_MEMORY_SPACE
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTHALAPI ULONG NTAPI HalGetBusData(BUS_DATA_TYPE, ULONG, ULONG, PVOID, ULONG)
#define RtlZeroMemory(Destination, Length)
#define InitializeObjectAttributes(p, n, a, r, s)
#define RtlCopyMemory(Destination, Source, Length)
ULONG NTAPI HaliPciInterfaceReadConfig(IN PBUS_HANDLER RootBusHandler, IN ULONG BusNumber, IN PCI_SLOT_NUMBER SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
VOID NTAPI HalpReadPCIConfig(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER Slot, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
ULONG NTAPI HalpSetPCIData(IN PBUS_HANDLER BusHandler, IN PBUS_HANDLER RootHandler, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
USHORT NTAPI READ_PORT_USHORT(IN PUSHORT Port)
static ULONG NTAPI PciSize(ULONG Base, ULONG Mask)
struct _PCI_REGISTRY_INFO * PPCI_REGISTRY_INFO
#define CmResourceTypeMemory
PPCI_REGISTRY_INFO_INTERNAL NTAPI HalpQueryPciRegistryInfo(VOID)
#define PCI_ADDRESS_IO_SPACE
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 *AllocatedResources)
#define ExFreePoolWithTag(_P, _T)
#define WriteBuffer(BaseIoAddress, Buffer, Count)
#define PCI_COMMON_HDR_LENGTH
#define _In_reads_bytes_(size)
VOID NTAPI HalpPCISynchronizeType2(IN PBUS_HANDLER BusHandler, IN PCI_SLOT_NUMBER Slot, OUT PKIRQL OldIrql, OUT PPCI_TYPE2_ADDRESS_BITS PciCfg)
PULONG MinorVersion OPTIONAL