qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Add pvevent device driver


From: Hu Tao
Subject: Re: [Qemu-devel] [PATCH] Add pvevent device driver
Date: Thu, 14 Mar 2013 17:33:19 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

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 <address@hidden>
> > ---
> >  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 address@hidden, 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]