From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752124AbcBURU6 (ORCPT ); Sun, 21 Feb 2016 12:20:58 -0500 Received: from SMTP.ANDREW.CMU.EDU ([128.2.157.38]:36105 "EHLO smtp.andrew.cmu.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751694AbcBURUz (ORCPT ); Sun, 21 Feb 2016 12:20:55 -0500 Date: Sun, 21 Feb 2016 12:20:10 -0500 From: "Gabriel L. Somlo" To: "Michael S. Tsirkin" Cc: gregkh@linuxfoundation.org, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, arnd@arndb.de, lersek@redhat.com, ralf@linux-mips.org, rmk+kernel@arm.linux.org.uk, eric@anholt.net, hanjun.guo@linaro.org, zajec5@gmail.com, sudeep.holla@arm.com, agross@codeaurora.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, qemu-devel@nongnu.org, imammedo@redhat.com, peter.maydell@linaro.org, leif.lindholm@linaro.org, ard.biesheuvel@linaro.org, pbonzini@redhat.com, kraxel@redhat.com, ehabkost@redhat.com, luto@amacapital.net, stefanha@gmail.com, revol@free.fr, matt@codeblueprint.co.uk, rth@twiddle.net Subject: Re: [PATCH v8 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device Message-ID: <20160221172010.GA4711@GLSMBP.INI.CMU.EDU> References: <1453990994-17801-1-git-send-email-somlo@cmu.edu> <1453990994-17801-2-git-send-email-somlo@cmu.edu> <20160221100557-mutt-send-email-mst@redhat.com> <20160221130614.GA4511@GLSMBP.INI.CMU.EDU> <20160221150904-mutt-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160221150904-mutt-send-email-mst@redhat.com> X-Clacks-Overhead: GNU Terry Pratchett User-Agent: Mutt/1.5.24 (2015-08-30) X-PMX-Version: 6.0.3.2322014, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.2.16.235718 X-SMTP-Spam-Clean: 28% ( SXL_IP_DYNAMIC 3, MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_2000_2999 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DATE_TZ_NA 0, FROM_EDU_TLD 0, RDNS_GENERIC_POOLED 0, RDNS_POOLED 0, RDNS_SUSP 0, RDNS_SUSP_GENERIC 0, RDNS_SUSP_SPECIFIC 0, REFERENCES 0, SINGLE_URI_IN_BODY 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __BOUNCE_CHALLENGE_SUBJ 0, __BOUNCE_NDR_SUBJ_EXEMPT 0, __CD 0, __CT 0, __CT_TEXT_PLAIN 0, __FORWARDED_MSG 0, __HAS_FROM 0, __HAS_MSGID 0, __HTTPS_URI 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MIME_VERSION 0, __MULTIPLE_RCPTS_CC_X2 0, __PHISH_SPEAR_STRUCTURE_1 0, __RDNS_POOLED_10 0, __REFERENCES 0, __SANE_MSGID 0, __SINGLE_URI_TEXT 0, __SUBJ_ALPHA_END 0, __SUBJ_ALPHA_NEGATE 0, __TO_MALFORMED_2 0, __URI_IN_BODY 0, __URI_NO_MAILTO 0, __URI_NO_PATH 0, __URI_NO_WWW 0, __URI_NS , __USER_AGENT 0) X-SMTP-Spam-Score: 28% Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Feb 21, 2016 at 03:10:30PM +0200, Michael S. Tsirkin wrote: > On Sun, Feb 21, 2016 at 08:06:17AM -0500, Gabriel L. Somlo wrote: > > > > > > > > > +#if !(defined(FW_CFG_CTRL_OFF) && defined(FW_CTRL_DATA_OFF)) > > > > +# if (defined(CONFIG_ARM) || defined(CONFIG_ARM64)) > > > > +# define FW_CFG_CTRL_OFF 0x08 > > > > +# define FW_CFG_DATA_OFF 0x00 > > > > +# elif (defined(CONFIG_PPC_PMAC) || defined(CONFIG_SPARC32)) /* ppc/mac,sun4m */ > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x02 > > > > +# elif (defined(CONFIG_X86) || defined(CONFIG_SPARC64)) /* x86, sun4u */ > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x01 > > > > +# else > > > > +# warning "QEMU FW_CFG may not be available on this architecture!" > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x01 > > > > > > Better not try hacks like this, they are hard > > > to support down the road. Please only list what is tested and > > > actually exposed by QEMU. > > > > I was looking for a standard way to advertise register offsets within > > the ioport or mmio region assigned to fw_cfg, but right now the answer > > is "there isn't one", and "register offsets are an arch specific > > detail". As such, the only reasonable way I saw was to copy the same > > values used in the QEMU source. > > > > See also: > > https://lists.gnu.org/archive/html/qemu-devel/2015-11/msg05037.html > > > > Thanks much, > > --Gabriel > > My point is you don't know what will qemu do on these > other arches which do not at the moment have fw cfg. > So don't try to guess! Oh, you mean for the "else". I originally wanted to be able to compile this on any architecture and wanted some dummy defaults I could override on the command line. But now we're already restricting this to known architectures only, so I'll send a patch turning the warning into an error, and removing the #defines for the "else" branch above. Sorry I misunderstood you the first time around :) Thanks, --Gabriel From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Gabriel L. Somlo" Subject: Re: [PATCH v8 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device Date: Sun, 21 Feb 2016 12:20:10 -0500 Message-ID: <20160221172010.GA4711@GLSMBP.INI.CMU.EDU> References: <1453990994-17801-1-git-send-email-somlo@cmu.edu> <1453990994-17801-2-git-send-email-somlo@cmu.edu> <20160221100557-mutt-send-email-mst@redhat.com> <20160221130614.GA4511@GLSMBP.INI.CMU.EDU> <20160221150904-mutt-send-email-mst@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <20160221150904-mutt-send-email-mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: "Michael S. Tsirkin" Cc: gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, pawel.moll-5wv7dgnIgG8@public.gmane.org, mark.rutland-5wv7dgnIgG8@public.gmane.org, ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org, galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, lersek-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, ralf-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org, rmk+kernel-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org, eric-WhKQ6XTQaPysTnJN9+BGXg@public.gmane.org, hanjun.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, sudeep.holla-5wv7dgnIgG8@public.gmane.org, agross-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, qemu-devel-qX2TKyscuCcdnm+yROfE0A@public.gmane.org, imammedo-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, peter.maydell-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, leif.lindholm-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, ard.biesheuvel-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org, pbonzini-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, kraxel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, ehabkost-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, luto-kltTT9wpgjJwATOyAt5JVQ@public.gmane.org, stefanha-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, revol-GANU6spQydw@public.gmane.org, matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org, rth-hL46jP5Bxq7R7s880joybQ@public.gmane.org List-Id: devicetree@vger.kernel.org On Sun, Feb 21, 2016 at 03:10:30PM +0200, Michael S. Tsirkin wrote: > On Sun, Feb 21, 2016 at 08:06:17AM -0500, Gabriel L. Somlo wrote: > > > > > > > > > +#if !(defined(FW_CFG_CTRL_OFF) && defined(FW_CTRL_DATA_OFF)) > > > > +# if (defined(CONFIG_ARM) || defined(CONFIG_ARM64)) > > > > +# define FW_CFG_CTRL_OFF 0x08 > > > > +# define FW_CFG_DATA_OFF 0x00 > > > > +# elif (defined(CONFIG_PPC_PMAC) || defined(CONFIG_SPARC32)) /* ppc/mac,sun4m */ > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x02 > > > > +# elif (defined(CONFIG_X86) || defined(CONFIG_SPARC64)) /* x86, sun4u */ > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x01 > > > > +# else > > > > +# warning "QEMU FW_CFG may not be available on this architecture!" > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x01 > > > > > > Better not try hacks like this, they are hard > > > to support down the road. Please only list what is tested and > > > actually exposed by QEMU. > > > > I was looking for a standard way to advertise register offsets within > > the ioport or mmio region assigned to fw_cfg, but right now the answer > > is "there isn't one", and "register offsets are an arch specific > > detail". As such, the only reasonable way I saw was to copy the same > > values used in the QEMU source. > > > > See also: > > https://lists.gnu.org/archive/html/qemu-devel/2015-11/msg05037.html > > > > Thanks much, > > --Gabriel > > My point is you don't know what will qemu do on these > other arches which do not at the moment have fw cfg. > So don't try to guess! Oh, you mean for the "else". I originally wanted to be able to compile this on any architecture and wanted some dummy defaults I could override on the command line. But now we're already restricting this to known architectures only, so I'll send a patch turning the warning into an error, and removing the #defines for the "else" branch above. Sorry I misunderstood you the first time around :) Thanks, --Gabriel From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53855) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXXgj-0003A8-Nz for qemu-devel@nongnu.org; Sun, 21 Feb 2016 12:20:54 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aXXgg-0003FZ-Hw for qemu-devel@nongnu.org; Sun, 21 Feb 2016 12:20:53 -0500 Received: from smtp.andrew.cmu.edu ([128.2.157.38]:49941) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aXXgg-0003FV-Ck for qemu-devel@nongnu.org; Sun, 21 Feb 2016 12:20:50 -0500 Date: Sun, 21 Feb 2016 12:20:10 -0500 From: "Gabriel L. Somlo" Message-ID: <20160221172010.GA4711@GLSMBP.INI.CMU.EDU> References: <1453990994-17801-1-git-send-email-somlo@cmu.edu> <1453990994-17801-2-git-send-email-somlo@cmu.edu> <20160221100557-mutt-send-email-mst@redhat.com> <20160221130614.GA4511@GLSMBP.INI.CMU.EDU> <20160221150904-mutt-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160221150904-mutt-send-email-mst@redhat.com> Subject: Re: [Qemu-devel] [PATCH v8 1/4] firmware: introduce sysfs driver for QEMU's fw_cfg device List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: mark.rutland@arm.com, peter.maydell@linaro.org, matt@codeblueprint.co.uk, stefanha@gmail.com, qemu-devel@nongnu.org, eric@anholt.net, kraxel@redhat.com, linux-api@vger.kernel.org, agross@codeaurora.org, pawel.moll@arm.com, zajec5@gmail.com, rmk+kernel@arm.linux.org.uk, lersek@redhat.com, devicetree@vger.kernel.org, ehabkost@redhat.com, arnd@arndb.de, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, leif.lindholm@linaro.org, robh+dt@kernel.org, pbonzini@redhat.com, rth@twiddle.net, ard.biesheuvel@linaro.org, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, luto@amacapital.net, hanjun.guo@linaro.org, sudeep.holla@arm.com, imammedo@redhat.com, revol@free.fr On Sun, Feb 21, 2016 at 03:10:30PM +0200, Michael S. Tsirkin wrote: > On Sun, Feb 21, 2016 at 08:06:17AM -0500, Gabriel L. Somlo wrote: > > > > > > > > > +#if !(defined(FW_CFG_CTRL_OFF) && defined(FW_CTRL_DATA_OFF)) > > > > +# if (defined(CONFIG_ARM) || defined(CONFIG_ARM64)) > > > > +# define FW_CFG_CTRL_OFF 0x08 > > > > +# define FW_CFG_DATA_OFF 0x00 > > > > +# elif (defined(CONFIG_PPC_PMAC) || defined(CONFIG_SPARC32)) /* ppc/mac,sun4m */ > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x02 > > > > +# elif (defined(CONFIG_X86) || defined(CONFIG_SPARC64)) /* x86, sun4u */ > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x01 > > > > +# else > > > > +# warning "QEMU FW_CFG may not be available on this architecture!" > > > > +# define FW_CFG_CTRL_OFF 0x00 > > > > +# define FW_CFG_DATA_OFF 0x01 > > > > > > Better not try hacks like this, they are hard > > > to support down the road. Please only list what is tested and > > > actually exposed by QEMU. > > > > I was looking for a standard way to advertise register offsets within > > the ioport or mmio region assigned to fw_cfg, but right now the answer > > is "there isn't one", and "register offsets are an arch specific > > detail". As such, the only reasonable way I saw was to copy the same > > values used in the QEMU source. > > > > See also: > > https://lists.gnu.org/archive/html/qemu-devel/2015-11/msg05037.html > > > > Thanks much, > > --Gabriel > > My point is you don't know what will qemu do on these > other arches which do not at the moment have fw cfg. > So don't try to guess! Oh, you mean for the "else". I originally wanted to be able to compile this on any architecture and wanted some dummy defaults I could override on the command line. But now we're already restricting this to known architectures only, so I'll send a patch turning the warning into an error, and removing the #defines for the "else" branch above. Sorry I misunderstood you the first time around :) Thanks, --Gabriel