From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751501AbbJEM5M (ORCPT ); Mon, 5 Oct 2015 08:57:12 -0400 Received: from foss.arm.com ([217.140.101.70]:47999 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751027AbbJEM5K (ORCPT ); Mon, 5 Oct 2015 08:57:10 -0400 Date: Mon, 5 Oct 2015 13:56:47 +0100 From: Mark Rutland To: "Gabriel L. Somlo" Cc: Paolo Bonzini , gregkh@linuxfoundation.org, paul@pwsan.com, galak@codeaurora.org, will.deacon@arm.com, agross@codeaurora.org, zajec5@gmail.com, hanjun.guo@linaro.org, catalin.marinas@arm.com, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, kernelnewbies@kernelnewbies.org, matt.fleming@intel.com, lersek@redhat.com, jordan.l.justen@intel.com, mst@redhat.com, peter.maydell@linaro.org, leif.lindholm@linaro.org, ard.biesheuvel@linaro.org, kraxel@redhat.com, qemu-devel@nongnu.org Subject: Re: [PATCH v3 0/4] SysFS driver for QEMU fw_cfg device Message-ID: <20151005125647.GL19064@leverpostej> References: <1443914889-9619-1-git-send-email-somlo@cmu.edu> <20151005100035.GA19064@leverpostej> <561263A4.2020304@redhat.com> <20151005122332.GK19064@leverpostej> <20151005124346.GG1977@HEDWIG.INI.CMU.EDU> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151005124346.GG1977@HEDWIG.INI.CMU.EDU> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 05, 2015 at 08:43:46AM -0400, Gabriel L. Somlo wrote: > On Mon, Oct 05, 2015 at 01:23:33PM +0100, Mark Rutland wrote: > > On Mon, Oct 05, 2015 at 01:48:52PM +0200, Paolo Bonzini wrote: > > > > > > > > > On 05/10/2015 12:00, Mark Rutland wrote: > > > > Some of the keys in the example look like they'd come from other sources > > > > (e.g. the *-tables entries), while others look like kernel/bootloader > > > > configuration options (e.g. etc/boot-fail-wait, bootorder) -- I'm > > > > concerned about redundancy here. > > > > > > The redundancy is because the firmware and the bootloader actually > > > _consume_ these fw_cfg strings to produce the others (the ACPI tables, > > > the kernel configuration options). > > > > > > On the other hand, hiding some strings just because they ought to have > > > been consumed already makes little sense. > > > > Sure. However, I'm concerned that providing redundant interfaces for > > those could lead to people grabbing information from here (because it's > > convenient) rather than the existing canonical locations, which means we > > get more software that works on fewer systems for no good reason. > > > > What I couldn't figure out was what _additional_ information this > > provided; it looked like a mixed bag of details we could already get > > from disparate sources. If that's all it does, then it seems to me like > > it doesn't add any benefit and potentially makes things worse. > > > > So what do we get from this interface that we cannot get elsewhere, and > > why is this the best way of exposing it? > > Starting with qemu 2.4, it is possible to insert arbitrary named > blobs into fw_cfg from the qemu command line. *Those* entries > might be interesting to userspace, which is why it might be handy > to access to fw_cfg blobs in general. So this is a mechanism to pass arbitrary key:value pairs to a guest userspace? What would those be used for, and why would this be the correct location for that? How do we avoid clashes between user-selected names and those we need to pass actual FW data? Mark.