From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44054) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zj5aH-0003Al-IL for qemu-devel@nongnu.org; Mon, 05 Oct 2015 09:13:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zj5aD-0006my-HU for qemu-devel@nongnu.org; Mon, 05 Oct 2015 09:13:41 -0400 Received: from smtp.andrew.cmu.edu ([128.2.105.204]:39968) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zj5aD-0006mH-BW for qemu-devel@nongnu.org; Mon, 05 Oct 2015 09:13:37 -0400 Date: Mon, 5 Oct 2015 09:13:22 -0400 From: "Gabriel L. Somlo" Message-ID: <20151005131322.GH1977@HEDWIG.INI.CMU.EDU> References: <1443914889-9619-1-git-send-email-somlo@cmu.edu> <20151005100035.GA19064@leverpostej> <20151005124042.GF1977@HEDWIG.INI.CMU.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH v3 0/4] SysFS driver for QEMU fw_cfg device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Mark Rutland , paul@pwsan.com, zajec5@gmail.com, Catalin Marinas , Jordan Justen , kernelnewbies@kernelnewbies.org, gregkh@linuxfoundation.org, Kumar Gala , Will Deacon , lkml - Kernel Mailing List , Leif Lindholm , QEMU Developers , Ard Biesheuvel , Matt Fleming , "Michael S. Tsirkin" , Hanjun Guo , agross@codeaurora.org, Paolo Bonzini , "linux-api@vger.kernel.org" , Laszlo Ersek , Gerd Hoffmann On Mon, Oct 05, 2015 at 01:50:47PM +0100, Peter Maydell wrote: > On 5 October 2015 at 13:40, Gabriel L. Somlo wrote: > > In addition, Michael's comment earlier in the thread suggests that > > even my current acpi version isn't sufficiently "orthodox" w.r.t. > > ACPI, and I should be providing the hardware access routine as > > an ACPI/AML routine, to avoid race conditions with the rest of ACPI, > > and for encapsulation. I.e. it's even rude to use the fw_cfg node's > > ACPI _CRS method (the part where I'd be treating it like a DT stand-in > > only to query fw_cfg's hardware specifics). > > If you want to try to support "firmware might also be reading > fw_cfg at the same time as the kernel" this is a (painful) > problem regardless of how the kernel figures out whether a > fw_cfg device is present. I had assumed that one of the design > assumptions of this series was that firmware would only > read the fw_cfg before booting the guest kernel and never touch > it afterwards. If it might touch it later then letting the > guest kernel also mess with fw_cfg seems like a really bad idea. I don't know of any case where firmware and kernel might race each other to access fw_cfg. The issue AFAICT is whether it's safe (future-proof) to rely on parsing _CRS for the fw_cfg i/o access information, or whether such logic could be rendered obsolete by potential future updates to fw_cfg's _CRS. If I "outsource" the fw_cfg_dump_blob_by_key() functionality entirely to an ACPI method, my kernel driver won't have to worry about keeping up with said future updates. On the down-side, that means the kernel driver will be ACPI or nothing (but I'm OK with that, at my curent level of understanding :) Thanks, --Gabriel