[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v17] Add pvpanic device driver
From: |
Hu Tao |
Subject: |
[Qemu-devel] [PATCH v17] Add pvpanic device driver |
Date: |
Fri, 5 Apr 2013 15:17:51 +0800 |
pvpanic device is used to notify host(qemu) when guest panic happens.
Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Hu Tao <address@hidden>
---
No change from v16. qemu patches at:
http://lists.nongnu.org/archive/html/qemu-devel/2013-04/msg01028.html
src/acpi.c | 3 +++
src/ssdt-misc.dsl | 46 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 49 insertions(+)
diff --git a/src/acpi.c b/src/acpi.c
index bc4d8ea..fe504f0 100644
--- a/src/acpi.c
+++ b/src/acpi.c
@@ -534,6 +534,9 @@ build_ssdt(void)
ssdt_ptr[acpi_pci64_valid[0]] = 0;
}
+ int pvpanic_port = romfile_loadint("etc/pvpanic-port", 0x0);
+ *(u16 *)(ssdt_ptr + *ssdt_isa_pest) = pvpanic_port;
+
ssdt_ptr += sizeof(ssdp_misc_aml);
// build Scope(_SB_) header
diff --git a/src/ssdt-misc.dsl b/src/ssdt-misc.dsl
index 679422b..acc850e 100644
--- a/src/ssdt-misc.dsl
+++ b/src/ssdt-misc.dsl
@@ -55,4 +55,50 @@ DefinitionBlock ("ssdt-misc.aml", "SSDT", 0x01, "BXPC",
"BXSSDTSUSP", 0x1)
Zero /* reserved */
})
}
+
+ External(\_SB.PCI0, DeviceObj)
+ External(\_SB.PCI0.ISA, DeviceObj)
+
+ Scope(\_SB.PCI0.ISA) {
+ Device(PEVT) {
+ Name(_HID, "QEMU0001")
+ /* PEST will be patched to be Zero if no such device */
+ ACPI_EXTRACT_NAME_WORD_CONST ssdt_isa_pest
+ Name(PEST, 0xFFFF)
+ OperationRegion(PEOR, SystemIO, PEST, 0x01)
+ Field(PEOR, ByteAcc, NoLock, Preserve) {
+ PEPT, 8,
+ }
+
+ Method(_STA, 0, NotSerialized) {
+ Store(PEST, Local0)
+ If (LEqual(Local0, Zero)) {
+ Return (0x00)
+ } Else {
+ Return (0x0F)
+ }
+ }
+
+ Method(RDPT, 0, NotSerialized) {
+ Store(PEPT, Local0)
+ Return (Local0)
+ }
+
+ Method(WRPT, 1, NotSerialized) {
+ Store(Arg0, PEPT)
+ }
+
+ Name(_CRS, ResourceTemplate() {
+ IO(Decode16, 0x00, 0x00, 0x01, 0x01, IO)
+ })
+
+ CreateWordField(_CRS, IO._MIN, IOMN)
+ CreateWordField(_CRS, IO._MAX, IOMX)
+
+ Method(_INI, 0, NotSerialized) {
+ Store(PEST, IOMN)
+ Store(PEST, IOMX)
+ }
+ }
+ }
}
--
1.8.1.4
- [Qemu-devel] [PATCH v17 2/6] add a new qevent: QEVENT_GUEST_PANICKED, (continued)
- [Qemu-devel] [PATCH v17 2/6] add a new qevent: QEVENT_GUEST_PANICKED, Hu Tao, 2013/04/05
- [Qemu-devel] [PATCH v17 1/6] add a new runstate: RUN_STATE_GUEST_PANICKED, Hu Tao, 2013/04/05
- [Qemu-devel] [PATCH v17 4/6] pvpanic: pass configurable ioport to seabios, Hu Tao, 2013/04/05
- [Qemu-devel] [PATCH v17 3/6] introduce a new qom device to deal with panicked event, Hu Tao, 2013/04/05
- [Qemu-devel] [PATCH v17 6/6] pvpanic: add document of pvpanic, Hu Tao, 2013/04/05
- [Qemu-devel] [PATCH v17 5/6] pvpanic: create pvpanic device by default, Hu Tao, 2013/04/05
- [Qemu-devel] [PATCH v17] Add pvpanic device driver,
Hu Tao <=
- [Qemu-devel] [PATCH v17] pvpanic: pvpanic device driver, Hu Tao, 2013/04/05
- [Qemu-devel] [PATCH] [RFC] Wire up disabled wait a panicked event on s390, Christian Borntraeger, 2013/04/05