diff --git a/src/northbridge/intel/i945/acpi/i945.asl b/src/northbridge/intel/i945/acpi/i945.asl index 47a6931c67..6a34b94535 100644 --- a/src/northbridge/intel/i945/acpi/i945.asl +++ b/src/northbridge/intel/i945/acpi/i945.asl @@ -22,6 +22,25 @@ #include "hostbridge.asl" #include "../i945.h" +/* Operating System Capabilities Method */ +Method (_OSC, 4) +{ + // Create DWord-addressable fields from the Capabilities Buffer + CreateDWordField(Arg3, 0, CDW1) + CreateDWordField(Arg3, 4, CDW2) + CreateDWordField(Arg3, 8, CDW3) + + /* Check for proper PCI/PCIe UUID */ + If (LEqual(Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) + { + /* Let OS control everything */ + Return(Arg3) + } Else { + Or(CDW1, 4, CDW1) // Unrecognized UUID, so set bit 2 to 1 + Return(Arg3) + } +} + /* PCI Device Resource Consumption */ Device (PDRC) {