pvevent device is used to notify host(qemu) when guest panic happens.
ref: http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02293.html
Signed-off-by: Hu Tao hutao@cn.fujitsu.com --- src/acpi-dsdt-isa.dsl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl index 23761db..d083245 100644 --- a/src/acpi-dsdt-isa.dsl +++ b/src/acpi-dsdt-isa.dsl @@ -99,4 +99,34 @@ Scope(_SB.PCI0.ISA) { IRQNoFlags() { 3 } }) } + + Device(PEVT) { + Name(_HID, "MSFT0001") + OperationRegion(PEOR, SystemIO, 0x0505, 0x01) + Field(PEOR, ByteAcc, NoLock, Preserve) { + PEPT, 8, + } + + Method(_STA, 0, NotSerialized) { + Store(PEPT, 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, 0x0505, 0x0505, 0x01, 0x01) + }) + } }
On Thu, Mar 14, 2013 at 04:48:47PM +0800, Hu Tao wrote:
pvevent device is used to notify host(qemu) when guest panic happens.
ref: http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02293.html
Signed-off-by: Hu Tao hutao@cn.fujitsu.com
src/acpi-dsdt-isa.dsl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl index 23761db..d083245 100644 --- a/src/acpi-dsdt-isa.dsl +++ b/src/acpi-dsdt-isa.dsl @@ -99,4 +99,34 @@ Scope(_SB.PCI0.ISA) { IRQNoFlags() { 3 } }) }
- Device(PEVT) {
Name(_HID, "MSFT0001")
We cannot use MSFT!
OperationRegion(PEOR, SystemIO, 0x0505, 0x01)
IO port should be received form QEMU by fw_cfg and patched here at run time.
Field(PEOR, ByteAcc, NoLock, Preserve) {
PEPT, 8,
}
Method(_STA, 0, NotSerialized) {
Store(PEPT, Local0)
If (LEqual(Local0, Zero)) {
Return (0x00)
} Else {
Return (0x0F)
}
}
No probing. If QEMU does not provide IO port function should be patched to return zero.
Method(RDPT, 0, NotSerialized) {
Store(PEPT, Local0)
Return (Local0)
}
Method(WRPT, 1, NotSerialized) {
Store(Arg0, PEPT)
}
Name(_CRS, ResourceTemplate() {
IO(Decode16, 0x0505, 0x0505, 0x01, 0x01)
})
- }
}
1.8.1.4
-- Gleb.
On Thu, Mar 14, 2013 at 10:57:18AM +0200, Gleb Natapov wrote:
On Thu, Mar 14, 2013 at 04:48:47PM +0800, Hu Tao wrote:
pvevent device is used to notify host(qemu) when guest panic happens.
ref: http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02293.html
Signed-off-by: Hu Tao hutao@cn.fujitsu.com
src/acpi-dsdt-isa.dsl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl index 23761db..d083245 100644 --- a/src/acpi-dsdt-isa.dsl +++ b/src/acpi-dsdt-isa.dsl @@ -99,4 +99,34 @@ Scope(_SB.PCI0.ISA) { IRQNoFlags() { 3 } }) }
- Device(PEVT) {
Name(_HID, "MSFT0001")
We cannot use MSFT!
OK, I see now, we have to use QEMU0001 or like. More question: if I request ACPI ID: QEMU from pnpid@microsoft.com, who should be CCed, Anthony, qemu-list or any others?
OperationRegion(PEOR, SystemIO, 0x0505, 0x01)
IO port should be received form QEMU by fw_cfg and patched here at run time.
If I'm right, io port can be passed to seabios through fw_cfg file interface, but I'm still figuring out how to patch DSDT here and below at run time. Maybe build_ssdt() is close to this.
Field(PEOR, ByteAcc, NoLock, Preserve) {
PEPT, 8,
}
Method(_STA, 0, NotSerialized) {
Store(PEPT, Local0)
If (LEqual(Local0, Zero)) {
Return (0x00)
} Else {
Return (0x0F)
}
}
No probing. If QEMU does not provide IO port function should be patched to return zero.
Method(RDPT, 0, NotSerialized) {
Store(PEPT, Local0)
Return (Local0)
}
Method(WRPT, 1, NotSerialized) {
Store(Arg0, PEPT)
}
Name(_CRS, ResourceTemplate() {
IO(Decode16, 0x0505, 0x0505, 0x01, 0x01)
})
- }
}
1.8.1.4
-- Gleb.
On Thu, Mar 14, 2013 at 05:33:19PM +0800, Hu Tao wrote:
On Thu, Mar 14, 2013 at 10:57:18AM +0200, Gleb Natapov wrote:
On Thu, Mar 14, 2013 at 04:48:47PM +0800, Hu Tao wrote:
pvevent device is used to notify host(qemu) when guest panic happens.
ref: http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02293.html
Signed-off-by: Hu Tao hutao@cn.fujitsu.com
src/acpi-dsdt-isa.dsl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl index 23761db..d083245 100644 --- a/src/acpi-dsdt-isa.dsl +++ b/src/acpi-dsdt-isa.dsl @@ -99,4 +99,34 @@ Scope(_SB.PCI0.ISA) { IRQNoFlags() { 3 } }) }
- Device(PEVT) {
Name(_HID, "MSFT0001")
We cannot use MSFT!
OK, I see now, we have to use QEMU0001 or like. More question: if I request ACPI ID: QEMU from pnpid@microsoft.com, who should be CCed, Anthony, qemu-list or any others?
Cannot really answer that. I do not think mailing list should be included. My be Anthony should request the ID on behalf of QEMU project.
OperationRegion(PEOR, SystemIO, 0x0505, 0x01)
IO port should be received form QEMU by fw_cfg and patched here at run time.
If I'm right, io port can be passed to seabios through fw_cfg file interface, but I'm still figuring out how to patch DSDT here and below at run time. Maybe build_ssdt() is close to this.
Yes, we already are doing similar things in build_ssdt().
-- Gleb.
On Thu, Mar 14, 2013 at 10:08:09AM +0000, David Woodhouse wrote:
On Thu, 2013-03-14 at 10:57 +0200, Gleb Natapov wrote:
OperationRegion(PEOR, SystemIO, 0x0505, 0x01)
IO port should be received form QEMU by fw_cfg and patched here at run time.
Pfft. ACPI table should be received from QEMU. :)
That's the feature that, as far as I understand, everyone agreed upon, but since we want to apply these patches before that feature is here we will have to do it old fashioned way for now.
-- Gleb.
Il 14/03/2013 09:48, Hu Tao ha scritto:
pvevent device is used to notify host(qemu) when guest panic happens.
ref: http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02293.html
Signed-off-by: Hu Tao hutao@cn.fujitsu.com
src/acpi-dsdt-isa.dsl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl index 23761db..d083245 100644 --- a/src/acpi-dsdt-isa.dsl +++ b/src/acpi-dsdt-isa.dsl @@ -99,4 +99,34 @@ Scope(_SB.PCI0.ISA) { IRQNoFlags() { 3 } }) }
- Device(PEVT) {
Name(_HID, "MSFT0001")
OperationRegion(PEOR, SystemIO, 0x0505, 0x01)
Field(PEOR, ByteAcc, NoLock, Preserve) {
PEPT, 8,
}
Method(_STA, 0, NotSerialized) {
Store(PEPT, 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, 0x0505, 0x0505, 0x01, 0x01)
})
- }
}
I like the idea of using methods in the DSDT to isolate from the actual implementation of the device. I don't see a huge problem with the probing, but Gleb does so please go on with the fw_cfg part.
Paolo
On Thu, Mar 14, 2013 at 10:15:02AM +0100, Paolo Bonzini wrote:
Il 14/03/2013 09:48, Hu Tao ha scritto:
pvevent device is used to notify host(qemu) when guest panic happens.
ref: http://lists.nongnu.org/archive/html/qemu-devel/2013-03/msg02293.html
Signed-off-by: Hu Tao hutao@cn.fujitsu.com
src/acpi-dsdt-isa.dsl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
diff --git a/src/acpi-dsdt-isa.dsl b/src/acpi-dsdt-isa.dsl index 23761db..d083245 100644 --- a/src/acpi-dsdt-isa.dsl +++ b/src/acpi-dsdt-isa.dsl @@ -99,4 +99,34 @@ Scope(_SB.PCI0.ISA) { IRQNoFlags() { 3 } }) }
- Device(PEVT) {
Name(_HID, "MSFT0001")
OperationRegion(PEOR, SystemIO, 0x0505, 0x01)
Field(PEOR, ByteAcc, NoLock, Preserve) {
PEPT, 8,
}
Method(_STA, 0, NotSerialized) {
Store(PEPT, 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, 0x0505, 0x0505, 0x01, 0x01)
})
- }
}
I like the idea of using methods in the DSDT to isolate from the actual implementation of the device. I don't see a huge problem with the probing, but Gleb does so please go on with the fw_cfg part.
Using methods is very nice idea indeed.
-- Gleb.