[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [patch 18/24] QEMU/KVM: notify _EJ0 through _SEJ OperationR
From: |
Marcelo Tosatti |
Subject: |
[Qemu-devel] [patch 18/24] QEMU/KVM: notify _EJ0 through _SEJ OperationRegion |
Date: |
Tue, 11 Mar 2008 17:12:09 -0300 |
User-agent: |
quilt/0.46-1 |
The _EJ0 method is executed by the OS once it has successfully finished
device removal. Inform that event through IO port space so QEMU
can free the associated data.
Signed-off-by: Marcelo Tosatti <address@hidden>
Index: kvm-userspace.hotplug2/bios/acpi-dsdt.dsl
===================================================================
--- kvm-userspace.hotplug2.orig/bios/acpi-dsdt.dsl
+++ kvm-userspace.hotplug2/bios/acpi-dsdt.dsl
@@ -414,159 +414,258 @@ DefinitionBlock (
PCID, 32,
}
+ OperationRegion(SEJ, SystemIO, 0xae08, 0x04)
+ Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
+ {
+ B0EJ, 32,
+ }
+
Device (S1) { // Slot 1
Name (_ADR, 0x00010000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x2, B0EJ)
+ Return (0x0)
+ }
}
Device (S2) { // Slot 2
Name (_ADR, 0x00020000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x4, B0EJ)
+ Return (0x0)
+ }
}
Device (S3) { // Slot 3
Name (_ADR, 0x00030000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store (0x8, B0EJ)
+ Return (0x0)
+ }
}
Device (S4) { // Slot 4
Name (_ADR, 0x00040000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x10, B0EJ)
+ Return (0x0)
+ }
}
Device (S5) { // Slot 5
Name (_ADR, 0x00050000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x20, B0EJ)
+ Return (0x0)
+ }
}
Device (S6) { // Slot 6
Name (_ADR, 0x00060000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x40, B0EJ)
+ Return (0x0)
+ }
}
Device (S7) { // Slot 7
Name (_ADR, 0x00070000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x80, B0EJ)
+ Return (0x0)
+ }
}
Device (S8) { // Slot 8
Name (_ADR, 0x00080000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x100, B0EJ)
+ Return (0x0)
+ }
}
Device (S9) { // Slot 9
Name (_ADR, 0x00090000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x200, B0EJ)
+ Return (0x0)
+ }
}
Device (S10) { // Slot 10
Name (_ADR, 0x000A0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x400, B0EJ)
+ Return (0x0)
+ }
}
Device (S11) { // Slot 11
Name (_ADR, 0x000B0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x800, B0EJ)
+ Return (0x0)
+ }
}
Device (S12) { // Slot 12
Name (_ADR, 0x000C0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x1000, B0EJ)
+ Return (0x0)
+ }
}
Device (S13) { // Slot 13
Name (_ADR, 0x000D0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x2000, B0EJ)
+ Return (0x0)
+ }
}
Device (S14) { // Slot 14
Name (_ADR, 0x000E0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x4000, B0EJ)
+ Return (0x0)
+ }
}
Device (S15) { // Slot 15
Name (_ADR, 0x000F0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x8000, B0EJ)
+ Return (0x0)
+ }
}
Device (S16) { // Slot 16
Name (_ADR, 0x00100000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x10000, B0EJ)
+ Return (0x0)
+ }
}
Device (S17) { // Slot 17
Name (_ADR, 0x00110000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x20000, B0EJ)
+ Return (0x0)
+ }
}
Device (S18) { // Slot 18
Name (_ADR, 0x00120000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x40000, B0EJ)
+ Return (0x0)
+ }
}
Device (S19) { // Slot 19
Name (_ADR, 0x00130000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x80000, B0EJ)
+ Return (0x0)
+ }
}
Device (S20) { // Slot 20
Name (_ADR, 0x00140000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x100000, B0EJ)
+ Return (0x0)
+ }
}
Device (S21) { // Slot 21
Name (_ADR, 0x00150000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x200000, B0EJ)
+ Return (0x0)
+ }
}
Device (S22) { // Slot 22
Name (_ADR, 0x00160000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x400000, B0EJ)
+ Return (0x0)
+ }
}
Device (S23) { // Slot 23
Name (_ADR, 0x00170000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x800000, B0EJ)
+ Return (0x0)
+ }
}
Device (S24) { // Slot 24
Name (_ADR, 0x00180000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x1000000, B0EJ)
+ Return (0x0)
+ }
}
Device (S25) { // Slot 25
Name (_ADR, 0x00190000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x2000000, B0EJ)
+ Return (0x0)
+ }
}
Device (S26) { // Slot 26
Name (_ADR, 0x001A0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x4000000, B0EJ)
+ Return (0x0)
+ }
}
Device (S27) { // Slot 27
Name (_ADR, 0x001B0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x8000000, B0EJ)
+ Return (0x0)
+ }
}
Device (S28) { // Slot 28
Name (_ADR, 0x001C0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x10000000, B0EJ)
+ Return (0x0)
+ }
}
Device (S29) { // Slot 29
Name (_ADR, 0x001D0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x20000000, B0EJ)
+ Return (0x0)
+ }
}
Device (S30) { // Slot 30
Name (_ADR, 0x001E0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x40000000, B0EJ)
+ Return (0x0)
+ }
}
Device (S31) { // Slot 31
Name (_ADR, 0x001F0000)
- Method (_EJ0,1) { Return (0x0) }
+ Method (_EJ0,1) {
+ Store(0x80000000, B0EJ)
+ Return (0x0)
+ }
}
Method (_CRS, 0, NotSerialized)
--
- [Qemu-devel] RE: [kvm-devel] [patch 17/24] QEMU/KVM: add cpu_unregister_io_memory and make io mem table index dynamic, (continued)
[Qemu-devel] [patch 19/24] QEMU/KVM: handle SEJ notifications, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 20/24] QEMU/KVM: add qemu_free_irqs, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 22/24] QEMU/KVM: LSI SCSI and e1000 unregister callbacks, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 23/24] QEMU/KVM: zero ioport_opaque on isa_unassign_ioport, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 24/24] QEMU/KVM: device hot-remove, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 08/24] QEMU/KVM: drive removal support, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 16/24] QEMU/KVM: device and disk hot-add, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 21/24] QEMU/KVM: add pci_unregister_device, Marcelo Tosatti, 2008/03/12
[Qemu-devel] [patch 18/24] QEMU/KVM: notify _EJ0 through _SEJ OperationRegion,
Marcelo Tosatti <=
[Qemu-devel] Re: [kvm-devel] [patch 00/24] QEMU ACPI PCI hotplug support, Avi Kivity, 2008/03/16