From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41605) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aznng-0006BB-CW for qemu-devel@nongnu.org; Mon, 09 May 2016 12:12:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aznnd-0007x9-1g for qemu-devel@nongnu.org; Mon, 09 May 2016 12:12:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38178) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aznnc-0007vz-SN for qemu-devel@nongnu.org; Mon, 09 May 2016 12:12:48 -0400 Date: Mon, 9 May 2016 17:12:45 +0100 From: "Richard W.M. Jones" Message-ID: <20160509161245.GR1683@redhat.com> References: <1461600281-23048-1-git-send-email-rjones@redhat.com> <20160509132449.GF3372@stefanha-x1.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: 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: Stefan Hajnoczi Cc: qemu-devel , Marc =?iso-8859-1?Q?Mar=ED?= , Eduardo Habkost , "Michael S. Tsirkin" , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Laszlo Ersek , Richard Henderson On Mon, May 09, 2016 at 04:31:26PM +0100, Stefan Hajnoczi wrote: > On Mon, May 9, 2016 at 2:24 PM, Stefan Hajnoczi wrote: > > On Mon, Apr 25, 2016 at 05:04:40PM +0100, Richard W.M. Jones wrote: > >> v5 -> v6: > >> > >> - Changed the xen_load_linux assertion as suggested by Stefan. > >> > >> - I renamed the variables in get_e801_addr function, since the > >> registers were really (16 bit 8086-style) AX, not EAX etc. Also I > >> changed the GCC asm to make it a little bit more efficient. I > >> verified by disassembling the function that GCC is still generating > >> the right code after this change. > >> > >> - Re-tested with small (342K) libguestfs initramfs and with large > >> (20M) Fedora initramfs, and works fine in both cases. > > > > No one has picked this up, so I have (for QEMU 2.7). > > > > Thanks, applied to my block tree: > > https://github.com/stefanha/qemu/commits/block > > The bad news is this patch breaks the build under clang: [...] > The .code16gcc issue can probably be resolved with -m16 (which gcc > 4.9+ also supports!). I haven't looked into the other issues though. It looks as if the easiest way to get around this will be to use gas instead of clang's integrated assembler, ie: CFLAGS += -m16 -fno-integrated-as However I have no idea if there are platforms we support which use clang and require the integrated assembler instead of binutils. Opinions on this? Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org