Hi list, According to the ACPICA Programmer Reference, the function AcpiOsDerivePciId takes as arguments: AcpiOsDerivePciId( ACPI_HANDLE DeviceHandle ACPI_HANDLE PciRegionHandle ACPI_PCI_ID **PciId) with: - DeviceHandle: a handle to the PCI device. - PciRegionHandle: a handle the PCI configuration space operation region. However, the only call to AcpiOsDerivePciId in the ACPICA code, in events/evrgnini.c, is: AcpiOsDerivePciId (PciRootNode, RegionObj->Region.Node, &PciId); Moreover, the file include/acpiosxf.h contains: /* * Interim function needed for PCI IRQ routing */ void AcpiOsDerivePciId( ACPI_HANDLE Rhandle, ACPI_HANDLE Chandle, ACPI_PCI_ID **PciId); So it seems to me that the correct arguments for AcpiOsDerivePciId are: AcpiOsDerivePciId( ACPI_HANDLE PciRootHandle ACPI_HANDLE DeviceHandle ACPI_PCI_ID **PciId) with: - PciRootHandle: a handle the PCI root bridge upstream of the PCI device (or to the name space root node if no PCI root bridge was found in the ancestors). - DeviceHandle: a handle to the PCI device. Is that correct? Thanks for your help, Grégoire