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