#include "acpi.h"
#include "accommon.h"
Go to the source code of this file.
◆ _COMPONENT
◆ PCI_CFG_HEADER_TYPE_REG
#define PCI_CFG_HEADER_TYPE_REG 0x0E |
◆ PCI_CFG_PRIMARY_BUS_NUMBER_REG
#define PCI_CFG_PRIMARY_BUS_NUMBER_REG 0x18 |
◆ PCI_CFG_SECONDARY_BUS_NUMBER_REG
#define PCI_CFG_SECONDARY_BUS_NUMBER_REG 0x19 |
◆ PCI_HEADER_TYPE_MASK
#define PCI_HEADER_TYPE_MASK 0x7F |
◆ PCI_TYPE_BRIDGE
◆ PCI_TYPE_CARDBUS_BRIDGE
#define PCI_TYPE_CARDBUS_BRIDGE 0x02 |
◆ ACPI_PCI_DEVICE
◆ AcpiHwBuildPciList()
Definition at line 192 of file hwpci.c.
196{
201
202
203
204
205
206
207
208 *ReturnListHead =
NULL;
209 CurrentDevice = PciRegion;
210 while (1)
211 {
214 {
215
216
219 }
220
221
222
224 {
226 }
227
229 if (!ListElement)
230 {
231
232
235 }
236
237
238
239 ListElement->
Next = *ReturnListHead;
241 *ReturnListHead = ListElement;
242
244 }
245}
static void AcpiHwDeletePciList(ACPI_PCI_DEVICE *ListHead)
ACPI_STATUS AcpiGetParent(ACPI_HANDLE Handle, ACPI_HANDLE *RetHandle)
struct acpi_pci_device * Next
_Must_inspect_result_ _In_ WDFDEVICE ParentDevice
Referenced by AcpiHwDerivePciId().
◆ AcpiHwDeletePciList()
◆ AcpiHwDerivePciId()
Definition at line 137 of file hwpci.c.
141{
144
145
147
148
149 if (!PciId)
150 {
152 }
153
154
155
158 {
159
160
162
163
164
166 }
167
169}
#define return_ACPI_STATUS(s)
#define ACPI_FUNCTION_TRACE(a)
static ACPI_STATUS AcpiHwProcessPciList(ACPI_PCI_ID *PciId, ACPI_PCI_DEVICE *ListHead)
static ACPI_STATUS AcpiHwBuildPciList(ACPI_HANDLE RootPciDevice, ACPI_HANDLE PciRegion, ACPI_PCI_DEVICE **ReturnListHead)
Referenced by AcpiEvPciConfigRegionSetup().
◆ AcpiHwGetPciDeviceInfo()
Definition at line 367 of file hwpci.c.
372{
377
378
379
380
383 {
385 }
386
388 {
390 }
391
392
393
397 {
399 }
400
401
402
403
404
407
408
409
410
411
412 if (*IsBridge)
413 {
415 }
416
417
418
419
420
421
426 {
428 }
429
430
431
433
436 {
438 }
439
440
441
445 {
447 }
448
451
452
453
457 {
459 }
460
463}
unsigned long long UINT64
UINT32 void void ** ReturnValue
ACPI_STATUS AcpiOsReadPciConfiguration(ACPI_PCI_ID *PciId, UINT32 Reg, UINT64 *Value, UINT32 Width)
#define ACPI_LOWORD(Integer)
#define ACPI_HIWORD(Integer)
#define ACPI_LODWORD(Integer64)
ACPI_STATUS AcpiUtEvaluateNumericObject(const char *ObjectName, ACPI_NAMESPACE_NODE *DeviceNode, UINT64 *Value)
#define PCI_CFG_HEADER_TYPE_REG
#define PCI_HEADER_TYPE_MASK
#define PCI_CFG_PRIMARY_BUS_NUMBER_REG
#define PCI_TYPE_CARDBUS_BRIDGE
#define PCI_CFG_SECONDARY_BUS_NUMBER_REG
ACPI_STATUS AcpiGetType(ACPI_HANDLE Handle, ACPI_OBJECT_TYPE *RetType)
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber
Referenced by AcpiHwProcessPciList().
◆ AcpiHwProcessPciList()
Definition at line 266 of file hwpci.c.
269{
274
275
277
278
280 "Input PciId: Seg %4.4X Bus %4.4X Dev %4.4X Func %4.4X\n",
282
284
285
286
287
288
289
290
291
294 {
298 {
300 }
301
303 }
304
306 "Output PciId: Seg %4.4X Bus %4.4X Dev %4.4X Func %4.4X "
307 "Status %X BusNumber %X IsBridge %X\n",
310
312}
#define ACPI_DEBUG_PRINT(pl)
#define ACPI_FUNCTION_NAME(a)
static ACPI_STATUS AcpiHwGetPciDeviceInfo(ACPI_PCI_ID *PciId, ACPI_HANDLE PciDevice, UINT16 *BusNumber, BOOLEAN *IsBridge)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Referenced by AcpiHwDerivePciId().