From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:34883) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDB8Y-0000tH-Ou for qemu-devel@nongnu.org; Wed, 06 Mar 2013 04:59:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UDB8X-0002gx-GJ for qemu-devel@nongnu.org; Wed, 06 Mar 2013 04:59:50 -0500 Received: from mx1.redhat.com ([209.132.183.28]:32413) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UDB8X-0002gf-8B for qemu-devel@nongnu.org; Wed, 06 Mar 2013 04:59:49 -0500 Date: Wed, 6 Mar 2013 11:59:38 +0200 From: Gleb Natapov Message-ID: <20130306095938.GM11223@redhat.com> References: <20130306093852.GK11223@redhat.com> <1810739463.3115068.1362563297384.JavaMail.root@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1810739463.3115068.1362563297384.JavaMail.root@redhat.com> Subject: Re: [Qemu-devel] [PATCH v13 0/8] pv event interface between host and guest List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Kevin Wolf , Peter Maydell , Andrew Jones , Anthony Liguori , Alex Williamson , kvm list , "Michael S. Tsirkin" , Hu Tao , Juan Quintela , linux-kernel@vger.kernel.org, qemu-devel , Markus Armbruster , Blue Swirl , Orit Wasserman , Alexander Graf , Sasha Levin , Stefan Hajnoczi , Jan Kiszka , Luiz Capitulino , Marcelo Tosatti , KAMEZAWA Hiroyuki 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.