From 17eb36c92e8eaabe2ca6bf0b79454489a1d24f30 Mon Sep 17 00:00:00 2001 From: Xudong Hao Date: Wed, 7 Mar 2012 08:15:50 +0000 Subject: [PATCH] tools/firmware: remove "_PS0/3" Method Do not expose the ACPI power management "_PS0/3" Method to guest firmware. According to section 3.4 of the APCI specification 4.0, PCI device control the device power through its own specification but not through APCI. Qemu pushes "_PS0/3" to guest will cause a mess between ACPI PM and PCI PM as a result of incorrect ACPI table shipped with the guest BIOS, it may cause a failure of PCI device PM state transition(from PCI_UNKNOWN to PCI_D0). Signed-off-by: Xudong Hao Signed-off-by: Haitao Shan Committed-by: Keir Fraser xen-unstable changeset: 24357:832fa3f35432 xen-unstable date: Mon Dec 05 19:35:06 2011 +0000 --- tools/firmware/hvmloader/acpi/mk_dsdt.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tools/firmware/hvmloader/acpi/mk_dsdt.c b/tools/firmware/hvmloader/acpi/mk_dsdt.c index 8450a50f26..1053985271 100644 --- a/tools/firmware/hvmloader/acpi/mk_dsdt.c +++ b/tools/firmware/hvmloader/acpi/mk_dsdt.c @@ -251,8 +251,6 @@ int main(int argc, char **argv) * the ACPI event: * _EJ0: eject a device * _STA: return a device's status, e.g. enabled or removed - * Other methods are optional: - * _PS0/3: put them here for debug purpose * * Eject button would generate a general-purpose event, then the * control method for this event uses Notify() to inform OSPM which @@ -271,14 +269,6 @@ int main(int argc, char **argv) stmt("Name", "_ADR, 0x%08x", ((slot & ~7) << 13) | (slot & 7)); /* _SUN == dev */ stmt("Name", "_SUN, 0x%08x", slot >> 3); - push_block("Method", "_PS0, 0"); - stmt("Store", "0x%02x, \\_GPE.DPT1", slot); - stmt("Store", "0x80, \\_GPE.DPT2"); - pop_block(); - push_block("Method", "_PS3, 0"); - stmt("Store", "0x%02x, \\_GPE.DPT1", slot); - stmt("Store", "0x83, \\_GPE.DPT2"); - pop_block(); push_block("Method", "_EJ0, 1"); stmt("Store", "0x%02x, \\_GPE.DPT1", slot); stmt("Store", "0x88, \\_GPE.DPT2"); -- 2.39.5