aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/northbridge/intel/i945/acpi/i945.asl19
1 files changed, 19 insertions, 0 deletions
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)
{