From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51197) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0CtK-0007xd-9z for qemu-devel@nongnu.org; Tue, 10 May 2016 15:00:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b0CtF-0002QI-Tq for qemu-devel@nongnu.org; Tue, 10 May 2016 15:00:22 -0400 Received: from mx1.redhat.com ([209.132.183.28]:57356) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0CtF-0002Q6-Nq for qemu-devel@nongnu.org; Tue, 10 May 2016 15:00:17 -0400 References: <1461600281-23048-1-git-send-email-rjones@redhat.com> <20160509132449.GF3372@stefanha-x1.localdomain> <20160509164814.GS1683@redhat.com> <5732194C.3050000@redhat.com> <20160510173624.GB1683@redhat.com> From: Laszlo Ersek Message-ID: <8c872053-549e-bdbb-314e-2abdabdc96e2@redhat.com> Date: Tue, 10 May 2016 21:00:11 +0200 MIME-Version: 1.0 In-Reply-To: <20160510173624.GB1683@redhat.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v6] Add optionrom compatible with fw_cfg DMA version List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Richard W.M. Jones" , Paolo Bonzini Cc: Stefan Hajnoczi , qemu-devel , =?UTF-8?Q?Marc_Mar=c3=ad?= , Eduardo Habkost , "Michael S. Tsirkin" , Gerd Hoffmann , Stefan Hajnoczi , Richard Henderson On 05/10/16 19:36, Richard W.M. Jones wrote: > On Tue, May 10, 2016 at 07:24:28PM +0200, Paolo Bonzini wrote: >> >> >> On 09/05/2016 18:48, Richard W.M. Jones wrote: >>> >>> Of course we're well outside any standards here. Can we tell clang >>> users to use the GCC/pre-compiled option ROMs :-? Any other ideas? I >>> don't think I've missed a flag (GCC has -fno-toplevel-reorder, but >>> clang 3.8 doesn't ...) >> >> I guess the checksumming script (scripts/signrom.py) could take care of >> padding the file to a multiple of 512 bytes, and fill in the size in the >> third byte. Then "_end" would not be necessary anymore and -m16 could >> replace the .code16 directive. > > In my rather limited testing on gcc, gcc -m16 broke booting. However > I've not investigated this further. I'll do so shortly. > > However I have a question: is there a formal standard or documentation > for the option ROM format? Are we sticking to the (ancient) "BIOS Boot > Specification" or is there something newer? (My copy is from 1996). To my knowledge, the most recent specification that describes PCI expansion ROMs is: PCI Firmware Specification Revision 3.2 January 26, 2015 See Chapter 5, "PCI Expansion ROMs". (Maybe a newer release has been made, not sure.) Of course, this spec is not public (you have to be a PCI SIG member to get it, or some such, which costs $$$), but since Red Hat is a member, I'll send you a link off-list (and you can't share the PDF outside of RH, of course). Regarding general (device independent) oproms: I'm not sure. Thanks Laszlo