#include <pci.h>
#include <debug.h>
Go to the source code of this file.
|
UCHAR NTAPI | PciGetAdjustedInterruptLine (IN PPCI_PDO_EXTENSION PdoExtension) |
|
VOID NTAPI | PciReadWriteConfigSpace (IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length, IN BOOLEAN Read) |
|
VOID NTAPI | PciWriteDeviceConfig (IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) |
|
VOID NTAPI | PciReadDeviceConfig (IN PPCI_PDO_EXTENSION DeviceExtension, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) |
|
VOID NTAPI | PciReadSlotConfig (IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length) |
|
NTSTATUS NTAPI | PciQueryForPciBusInterface (IN PPCI_FDO_EXTENSION FdoExtension) |
|
NTSTATUS NTAPI | PciGetConfigHandlers (IN PPCI_FDO_EXTENSION FdoExtension) |
|
◆ NDEBUG
◆ PciGetAdjustedInterruptLine()
Definition at line 24 of file config.c.
25{
26 UCHAR InterruptLine = 0, PciInterruptLine;
28
29
31 {
32
36 &PciInterruptLine,
38 u.type0.InterruptLine),
40 if (
Length) InterruptLine = PciInterruptLine;
41 }
42
43
44 return InterruptLine ?
PdoExtension->RawInterruptLine : InterruptLine;
45}
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
ULONG NTAPI HalGetBusDataByOffset(IN BUS_DATA_TYPE BusDataType, IN ULONG BusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define FIELD_OFFSET(t, f)
Referenced by PciScanBus().
◆ PciGetConfigHandlers()
Definition at line 224 of file config.c.
225{
229
230
232 {
233
237 {
238
240 }
241 else
242 {
243
245 }
246 }
247 else
248 {
249
251 {
252
254 }
255
256
258 }
259
260
262 {
263
266
267
270
271
273 }
274
275
277}
#define STATUS_NOT_SUPPORTED
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI PciQueryForPciBusInterface(IN PPCI_FDO_EXTENSION FdoExtension)
BOOLEAN PciAssignBusNumbers
#define PCI_IS_ROOT_FDO(x)
#define STATUS_INVALID_DEVICE_REQUEST
#define HalReferenceHandlerForBus
Referenced by PciAddDevice().
◆ PciQueryForPciBusInterface()
Definition at line 135 of file config.c.
136{
146
147
152
153
155
156
159 AttachedDevice,
161 0,
166 {
167
169 Irp->IoStatus.Information = 0;
170
171
180
181
184 {
185
192 }
193
194
196 {
197
200 }
201 else
202 {
203
205 }
206
207
209 }
210 else
211 {
212
216 }
217
218
220}
#define ExAllocatePoolWithTag(hernya, size, tag)
#define KeWaitForSingleObject(pEvt, foo, a, b, c)
#define KeInitializeEvent(pEvt, foo, foo2)
#define ExFreePoolWithTag(_P, _T)
static OUT PIO_STATUS_BLOCK IoStatusBlock
PDEVICE_OBJECT NTAPI IoGetAttachedDeviceReference(PDEVICE_OBJECT DeviceObject)
PIRP NTAPI IoBuildSynchronousFsdRequest(IN ULONG MajorFunction, IN PDEVICE_OBJECT DeviceObject, IN PVOID Buffer, IN ULONG Length, IN PLARGE_INTEGER StartingOffset, IN PKEVENT Event, IN PIO_STATUS_BLOCK IoStatusBlock)
struct _INTERFACE * PINTERFACE
union _IO_STACK_LOCATION::@1610 Parameters
struct _IO_STACK_LOCATION::@4103::@4129 QueryInterface
#define STATUS_INSUFFICIENT_RESOURCES
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetNextIrpStackLocation(_In_ PIRP Irp)
#define PCI_BUS_INTERFACE_STANDARD_VERSION
struct _PCI_BUS_INTERFACE_STANDARD PCI_BUS_INTERFACE_STANDARD
#define IRP_MN_QUERY_INTERFACE
#define ObDereferenceObject
Referenced by PciGetConfigHandlers().
◆ PciReadDeviceConfig()
Definition at line 107 of file config.c.
111{
112
114 DeviceExtension->Slot,
119}
VOID NTAPI PciReadWriteConfigSpace(IN PPCI_FDO_EXTENSION DeviceExtension, IN PCI_SLOT_NUMBER Slot, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length, IN BOOLEAN Read)
_In_ ULONG _In_ ULONG Offset
Referenced by PciApplyHacks(), PciAssignSlotResources(), PciConfigureIdeController(), PciDecodeEnable(), PcipGetFunctionLimits(), PciQueryRequirements(), PciQueryResources(), PciReadDeviceCapability(), PciScanBus(), PciSetResources(), PciStallForPowerChange(), and PciWriteLimitsAndRestoreCurrent().
◆ PciReadSlotConfig()
◆ PciReadWriteConfigSpace()
Definition at line 49 of file config.c.
55{
60
61
63
64
65 PciInterface = DeviceExtension->BusRootFdoExtension->PciBusInterface;
66 if (PciInterface)
67 {
68
70 }
71 else
72 {
73
74 ASSERT(DeviceExtension->BusHandler);
75
76
78
79
82
83
86 }
87}
#define UNIMPLEMENTED_DBGBREAK(...)
struct _BUS_HANDLER * PBUS_HANDLER
PciReadWriteConfig WriteConfig
PciReadWriteConfig ReadConfig
VOID(NTAPI * PciReadWriteConfig)(_In_ struct _BUS_HANDLER *BusHandler, _In_ PCI_SLOT_NUMBER Slot, _In_reads_bytes_(Length) PVOID Buffer, _In_ ULONG Offset, _In_ ULONG Length)
Referenced by PciReadDeviceConfig(), PciReadSlotConfig(), and PciWriteDeviceConfig().
◆ PciWriteDeviceConfig()
◆ PciAssignBusNumbers