From ba737541edddf9d0026460eb7b1d1c599b4c8ae9 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Thu, 5 Apr 2012 11:07:08 -0600 Subject: acpi_piix4: Disallow write to up/down PCI hotplug registers The write side of these registers is never used and actually can't be used as defined because any read/modify/write sequence from the guest potentially races with qemu. Drop the write support and define these as read-only registers. Signed-off-by: Alex Williamson Signed-off-by: Michael S. Tsirkin --- docs/specs/acpi_pci_hotplug.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'docs/specs') diff --git a/docs/specs/acpi_pci_hotplug.txt b/docs/specs/acpi_pci_hotplug.txt index f0f74a7..1e2c8a2 100644 --- a/docs/specs/acpi_pci_hotplug.txt +++ b/docs/specs/acpi_pci_hotplug.txt @@ -15,14 +15,14 @@ PCI slot injection notification pending (IO port 0xae00-0xae03, 4-byte access): Slot injection notification pending. One bit per slot. Read by ACPI BIOS GPE.1 handler to notify OS of injection -events. +events. Read-only. PCI slot removal notification (IO port 0xae04-0xae07, 4-byte access): ----------------------------------------------------- Slot removal notification pending. One bit per slot. Read by ACPI BIOS GPE.1 handler to notify OS of removal -events. +events. Read-only. PCI device eject (IO port 0xae08-0xae0b, 4-byte access): ---------------------------------------- -- cgit v1.1 From 31745aabcd6dce5583dbd0e5ddee93ff9fdfe3e6 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Thu, 5 Apr 2012 11:07:21 -0600 Subject: acpi_piix4: Remove PCI_RMV_BASE write code Clarify this register as read-only and remove write code. No change in existing behavior. Signed-off-by: Alex Williamson Signed-off-by: Michael S. Tsirkin --- docs/specs/acpi_pci_hotplug.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'docs/specs') diff --git a/docs/specs/acpi_pci_hotplug.txt b/docs/specs/acpi_pci_hotplug.txt index 1e2c8a2..1883d63 100644 --- a/docs/specs/acpi_pci_hotplug.txt +++ b/docs/specs/acpi_pci_hotplug.txt @@ -34,4 +34,4 @@ PCI removability status (IO port 0xae0c-0xae0f, 4-byte access): ----------------------------------------------- Used by ACPI BIOS _RMV method to indicate removability status to OS. One -bit per slot. +bit per slot. Read-only -- cgit v1.1 From 9290f364c1f0c0a5a2ee8e03607f4804455c0d0e Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Thu, 5 Apr 2012 11:07:28 -0600 Subject: acpi_piix4: Re-define PCI hotplug eject register read The PCI hotplug eject register has always returned 0, so let's redefine it as a hotplug feature register. The existing model of using separate up & down read-only registers and an eject via write to this register becomes the base implementation. As we make use of new interfaces we'll set bits here to allow the BIOS and AML implementation to optimize for the platform implementation. Signed-off-by: Alex Williamson Signed-off-by: Michael S. Tsirkin --- docs/specs/acpi_pci_hotplug.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'docs/specs') diff --git a/docs/specs/acpi_pci_hotplug.txt b/docs/specs/acpi_pci_hotplug.txt index 1883d63..a839434 100644 --- a/docs/specs/acpi_pci_hotplug.txt +++ b/docs/specs/acpi_pci_hotplug.txt @@ -27,8 +27,16 @@ events. Read-only. PCI device eject (IO port 0xae08-0xae0b, 4-byte access): ---------------------------------------- -Used by ACPI BIOS _EJ0 method to request device removal. One bit per slot. -Reads return 0. +Write: Used by ACPI BIOS _EJ0 method to request device removal. +One bit per slot. + +Read: Hotplug features register. Used by platform to identify features +available. Current base feature set (no bits set): + - Read-only "up" register @0xae00, 4-byte access, bit per slot + - Read-only "down" register @0xae04, 4-byte access, bit per slot + - Read/write "eject" register @0xae08, 4-byte access, + write: bit per slot eject, read: hotplug feature set + - Read-only hotplug capable register @0xae0c, 4-byte access, bit per slot PCI removability status (IO port 0xae0c-0xae0f, 4-byte access): ----------------------------------------------- -- cgit v1.1