From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Egger Subject: Re: [IOEMU][STUBDOM] build fixes Date: Tue, 19 Jan 2010 10:25:10 +0100 Message-ID: <201001191025.10908.Christoph.Egger@amd.com> References: <201001181142.43975.Christoph.Egger@amd.com> <20100118111105.GN5233@const.bordeaux.inria.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary-00=_2pXVLKOUUc73f6X" Return-path: In-Reply-To: <20100118111105.GN5233@const.bordeaux.inria.fr> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Samuel Thibault , Ian.Jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org --Boundary-00=_2pXVLKOUUc73f6X Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Monday 18 January 2010 12:11:05 Samuel Thibault wrote: > Christoph Egger, le Mon 18 Jan 2010 11:42:43 +0100, a =E9crit : > > --- a/Makefile.target > > +++ b/Makefile.target > > +ifdef CONFIG_STUBDOM > > +CFLAGS +=3D -I$(MINI_OS-ROOT)/include > > +endif > > Isn't that already done by the stubdom/ Makefile? Or put another way, > why is it needed on netbsd when it is not on linux? To make MiniOS and Stubdom build on NetBSD, I have to restructure the heade= rs. This work is not yet 100% complete but so far I can tell, with the restructuring done, you also need it on Linux. > > > --- a/block-vbd.c > > +++ b/block-vbd.c > > -#include > > -#include > > +#include > > +#include > > Such changes are probably a good thing, They are mandatory to not break the build also on Linux with the restructur= ed headers. > please submit them in a separate patch so they can be applied already. Done. See attachment. Signed-off-by: Christoph Egger > > --- a/hw/xen_machine_fv.c > > +++ b/hw/xen_machine_fv.c > > @@ -40,8 +40,11 @@ > > + > > +#ifndef CONFIG_STUBDOM /* defined in */ > > #define test_bit(bit,map) \ > > (!!((map)[(bit)/BITS_PER_LONG] & (1UL << ((bit)%BITS_PER_LONG)))) > > +#endif > > Same question: how is it that it is not needed on linux? The actual question here is: Why does gcc on Linux not barf about=20 redeclaration? > > index 50dfb6b..1a6e445 100644 > > --- a/qemu-common.h > > +++ b/qemu-common.h > > @@ -9,6 +9,8 @@ > > +#include "config-host.h" > > Why? To get the right socket declarations and fix loop inclusion of libc and minios sockets. > > --- a/vl.c > > +++ b/vl.c > > @@ -42,6 +42,7 @@ > > +#include "dma.h" > > Why? =46ixes warning about missing prototypes (i.e. for dma_helper_init) > > --- a/vnc.c > > +++ b/vnc.c > > @@ -32,8 +32,8 @@ > > -#ifdef CONFIG_STUBDOM > > +#if defined(CONFIG_STUBDOM) && defined(__Linux__) > > I do not understand these. netfront.h is not linux-specific. netfront.h belongs to lwip. What is wrong with using libc ? > > -#ifndef CONFIG_STUBDOM > > +#if !defined(CONFIG_STUBDOM) || defined(__NetBSD__) > > I do not understand these either. Stub domains do _not_ have > a working SO_REUSEADDR. Same here: What is wrong with using libc ? > > index fcf60c3..88f84cd 100755 > > --- a/xen-setup-stubdom > > +++ b/xen-setup-stubdom > > @@ -36,7 +36,15 @@ cat <config-host.h.new > > #define CONFIG_QEMU_SHAREDIR "${SHAREDIR}/xen/qemu" > > #define HOST_I386 1 > > #define HOST_LONG_BITS 32 > > +#ifdef __Linux__ > > #define HAVE_BYTESWAP_H 1 > > +#endif > > +#ifdef __NetBSD__ > > +#define _BSD 1 > > +#define HAVE_MACHINE_BSWAP_H 1 > > +#define HAVE_IOVEC 1 > > +#define O_LARGEFILE 0 > > +#endif > > I'm not sure about that either. Do you realize that stubdomains are not > running linux or BSD but MiniOS? This change is about *building* stubdom on Linux or BSD. > > @@ -358,5 +358,6 @@ int xenfb_pv_display_init(DisplayState *ds) > > int xenfb_pv_display_vram(void *data) > > { > > vga_vram =3D data; > > + return 0; > > } > > Probably better just making it return void. I don't see the return code anywhere in use. So yes, making it return void = is=20 ok. Christoph =2D-=20 =2D--to satisfy European Law for business letters: Advanced Micro Devices GmbH Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen Registergericht Muenchen, HRB Nr. 43632 --Boundary-00=_2pXVLKOUUc73f6X Content-Type: text/x-diff; charset="iso 8859-15"; name="xen_ioemu_stubdom_include.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="xen_ioemu_stubdom_include.diff" diff --git a/block-vbd.c b/block-vbd.c index 56794f6..11ac4d0 100644 --- a/block-vbd.c +++ b/block-vbd.c @@ -26,8 +26,8 @@ #include "sys-queue.h" #include "block_int.h" #include -#include -#include +#include +#include #include #include "qemu-char.h" diff --git a/qemu-lock.h b/qemu-lock.h index 6778eea..3a01ebe 100644 --- a/qemu-lock.h +++ b/qemu-lock.h @@ -34,7 +34,7 @@ #elif defined(CONFIG_STUBDOM) -#include +#include #else diff --git a/xenfbfront.c b/xenfbfront.c index ed79cde..ec1f309 100644 --- a/xenfbfront.c +++ b/xenfbfront.c @@ -1,9 +1,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include --Boundary-00=_2pXVLKOUUc73f6X Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --Boundary-00=_2pXVLKOUUc73f6X--