[SeaBIOS] [PATCH] Add pvevent device driver

Gleb Natapov gleb at redhat.com
Thu Mar 14 09:57:18 CET 2013


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 at 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.



More information about the SeaBIOS mailing list