From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44167 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OSCuf-0002Dc-7G for qemu-devel@nongnu.org; Fri, 25 Jun 2010 13:42:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OSCny-0007P6-NN for qemu-devel@nongnu.org; Fri, 25 Jun 2010 13:35:07 -0400 Received: from va3ehsobe005.messaging.microsoft.com ([216.32.180.31]:22331 helo=VA3EHSOBE005.bigfish.com) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OSCny-0007Oz-L4 for qemu-devel@nongnu.org; Fri, 25 Jun 2010 13:35:06 -0400 Subject: Re: [Qemu-devel] [PATCH 14/17] Move daemonize handling to OS specific files From: Frank Arnold In-Reply-To: <4C24E111.7080606@redhat.com> References: <1276162951-842-1-git-send-email-Jes.Sorensen@redhat.com> <1276162951-842-15-git-send-email-Jes.Sorensen@redhat.com> <1277484082.24464.24.camel@mendozza.osrc.amd.com> <4C24E111.7080606@redhat.com> Content-Type: text/plain; charset="UTF-8" Date: Fri, 25 Jun 2010 19:34:23 +0200 Message-ID: <1277487263.24464.37.camel@mendozza.osrc.amd.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jes Sorensen Cc: "Przywara, Andre" , "qemu-devel@nongnu.org" On Fri, 2010-06-25 at 13:02 -0400, Jes Sorensen wrote: > On 06/25/10 18:41, Frank Arnold wrote: > > On Thu, 2010-06-10 at 05:42 -0400, Jes.Sorensen@redhat.com wrote: > >> diff --git a/os-posix.c b/os-posix.c > >> index 6417d16..1672e06 100644 > >> --- a/os-posix.c > >> +++ b/os-posix.c > >> @@ -160,6 +162,9 @@ void os_parse_cmd_args(int index, const char *op= targ) > >> case QEMU_OPTION_chroot: > >> chroot_dir =3D optarg; > >> break; > >> + case QEMU_OPTION_daemonize: > >> + daemonize =3D 1; > >> + break; > >> } > >> return; > >> } > >=20 > > This move broke the -daemonize option for us. We are using the qemu-k= vm > > tree. > >=20 > > The issue is that the QEMU_OPTION_* enumeration between vl.c and > > os-posix.c is out of sync. In our case MAP_POPULATE is defined in vl.= c > > but is not in os-posix.c. This excludes the option -mem-prealloc in > > os-posix.c, see qemu-options.def for the ifdef statement. All subsequ= ent > > options are off by one in comparison to vl.c. > >=20 > > Just including sys/mman.h in os-posix.c fixes the issue for me. But I= 'm > > not sure if there is a more generic fix to that problem. >=20 > Thanks for the update. What do you mean that it changes the numbering, > do you get a compile time error or are you saying that it is the order > of parsing the options that change? >=20 > Are you building on Linux or another OS? We are doing KVM testing, so it is Linux. What I did is putting lines like this somewhere into vl.c and os-posix.c: fprintf(stderr, "os: QEMU_OPTION_daemonize: %i", QEMU_OPTION_daemonize); fprintf(stderr, "vl: QEMU_OPTION_daemonize: %i", QEMU_OPTION_daemonize); Resulting in the following output on stderr: os: QEMU_OPTION_daemonize: 85 vl: QEMU_OPTION_daemonize: 86 No compile time errors. The preprocessing of qemu-options.h is done separately for both files. This results in a missing option definition for os-posix.c and discrepancy in the option enumeration. --=20 Frank Arnold=20 Systems Design Technician, Software Test AMD Operating System Research Center Dresden, Germany Tel: +49 351 448 356702 Legal Information: Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach b. M=C3=BCnchen Gesch=C3=A4ftsf=C3=BChrer: Alberto Bozzo, Andrew Bowd Sitz: Dornach, Gemeinde Aschheim, Landkreis M=C3=BCnchen Registergericht M=C3=BCnchen, HRB Nr. 43632