From dc59b8dfc525efbab6cc64e03767707084381bbb Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Tue, 27 Mar 2012 06:26:38 +0000 Subject: [PATCH] [TXTSETUP] - Add *PNP0A08 [ACPI] - Handle the PNP0A08 in a couple of missed cases - Finally, PCI should work on systems that use the new PNP0A08 ID for identifying a PCI Express root bus svn path=/trunk/; revision=56242 --- reactos/boot/bootdata/txtsetup.sif | 1 + reactos/drivers/bus/acpi/buspdo.c | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/reactos/boot/bootdata/txtsetup.sif b/reactos/boot/bootdata/txtsetup.sif index 4629366d82a..a7c106a23d0 100644 --- a/reactos/boot/bootdata/txtsetup.sif +++ b/reactos/boot/bootdata/txtsetup.sif @@ -62,6 +62,7 @@ ntdll.dll=,,,,,,,,,,,,2 [HardwareIdsDatabase] ;*PNP0A00 = isapnp *PNP0A03 = pci +*PNP0A08 = pci *PNP0C08 = acpi ;PCI\CC_0601 = isapnp PCI\CC_0604 = pci diff --git a/reactos/drivers/bus/acpi/buspdo.c b/reactos/drivers/bus/acpi/buspdo.c index 45f9579d850..c6893138c14 100644 --- a/reactos/drivers/bus/acpi/buspdo.c +++ b/reactos/drivers/bus/acpi/buspdo.c @@ -594,7 +594,8 @@ Bus_PDO_QueryDeviceText( Temp = L"ACPI Embedded Controller"; else if (wcsstr(DeviceData->HardwareIDs, L"PNP0C0B") != 0) Temp = L"ACPI Fan"; - else if (wcsstr(DeviceData->HardwareIDs, L"PNP0A03") != 0) + else if (wcsstr(DeviceData->HardwareIDs, L"PNP0A03") != 0 || + wcsstr(DeviceData->HardwareIDs, L"PNP0A08") != 0 ) Temp = L"PCI Root Bridge"; else if (wcsstr(DeviceData->HardwareIDs, L"PNP0C0A") != 0) Temp = L"ACPI Battery"; @@ -666,7 +667,8 @@ Bus_PDO_QueryResources( /* A bus number resource is not included in the list of current resources * for the root PCI bus so we manually query one here and if we find it * we create a resource list and add a bus number descriptor to it */ - if (wcsstr(DeviceData->HardwareIDs, L"PNP0A03") != 0) + if (wcsstr(DeviceData->HardwareIDs, L"PNP0A03") != 0 || + wcsstr(DeviceData->HardwareIDs, L"PNP0A08") != 0) { acpi_bus_get_device(DeviceData->AcpiHandle, &device); @@ -1169,7 +1171,8 @@ Bus_PDO_QueryResourceRequirements( } /* Handle the PCI root manually */ - if (wcsstr(DeviceData->HardwareIDs, L"PNP0A03") != 0) + if (wcsstr(DeviceData->HardwareIDs, L"PNP0A03") != 0 || + wcsstr(DeviceData->HardwareIDs, L"PNP0A08") != 0) { return Irp->IoStatus.Status; }