Re: [PATCH v13 0/8] pv event interface between host and guest

Gleb Natapov
2013-03-06T10:01:50Z

On Wed, Mar 06, 2013 at 04:48:17AM -0500, Paolo Bonzini wrote:
>
> > On Wed, Mar 06, 2013 at 10:07:31AM +0100, Paolo Bonzini wrote:
> > > Il 06/03/2013 09:56, Hu Tao ha scritto:
> > > >> >
> > > >> > Something like this should work (in SeaBIOS's
> > > >> > src/acpi-dsdt-isa.dsl):
> > > >> >
> > > >> > Device(PEVT) {
> > > >> > Name(_HID, EisaId("QEMU0001"))
> > > >> > OperationRegion(PEOR, SystemIO, 0x505, 0x01)
> > > >> > Field(PEOR, ByteAcc, NoLock, Preserve) {
> > > >> > PEPT, 8,
> > > >> > }
> > > >> >
> > > >> > Method(_STA, 0, NotSerialized) {
> > > >> > Store(PEPT, Local0)
> > > >> > If (LEqual(Local0, Zero)) {
> > > >> > Return (0x00)
> > > >> > } Else {
> > > >> > Return (0x0F)
> > > >> > }
> > > >> > }
> > > > IIUC, here _STA reads from ioport 0x505, if the result is 0, then the
> > > > device is not present. Otherwise, the device is present. But as Gleb
> > > > said, ''the data you read from unassigned port is not guarantied to be
> > > > zero, it may depend on QEMU version''. What should I do to tell if the
> > > > device is present or not correctly?
> > >
> > > The firmware is tied to the QEMU version, so you can rely on
> > > unassigned ports returning zero.
> > >
> > > Later we can change this to use fw-cfg.
> >
> > I thought we agreed to do it from the start :)
>
> Then Hu will need to patch the _STA method.
>
_STA and _CRS.

--
Gleb.