From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IGEVP-000856-G6 for qemu-devel@nongnu.org; Wed, 01 Aug 2007 09:44:51 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IGEVM-00082y-Ql for qemu-devel@nongnu.org; Wed, 01 Aug 2007 09:44:50 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IGEVM-00082v-JA for qemu-devel@nongnu.org; Wed, 01 Aug 2007 09:44:48 -0400 Received: from ns.suse.de ([195.135.220.2] helo=mx1.suse.de) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1IGEVL-0005Z7-W0 for qemu-devel@nongnu.org; Wed, 01 Aug 2007 09:44:48 -0400 Received: from Relay1.suse.de (mail2.suse.de [195.135.221.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.suse.de (Postfix) with ESMTP id 001C9124E4 for ; Wed, 1 Aug 2007 15:44:43 +0200 (CEST) From: Ulrich Hecht Subject: Re: [Qemu-devel] [PATCH] S/390 host fixed Date: Wed, 1 Aug 2007 15:44:43 +0200 References: <200707301349.26745.uli@suse.de> <200707301605.47719.uli@suse.de> <20070731235915.GL26960@networkno.de> In-Reply-To: <20070731235915.GL26960@networkno.de> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Disposition: inline Message-Id: <200708011544.43401.uli@suse.de> Content-Transfer-Encoding: quoted-printable Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Wednesday 01 August 2007 01:59, Thiemo Seufer wrote: > > - AIOLIBS=3D"-lrt" > > + AIOLIBS=3D"-lrt -lpthread" > > Why is this needed? Linux toolchains should add -lpthread implicitly. Our SLES9 toolchain seems not to. It's a near-cosmetic change. > > +#ifdef __s390__ > > + retaddr =3D (void*)((unsigned long)retaddr & 0x7fffffffUL); > > +#endif > > All of those look weird. Is this a null-extension vs. sign-extension > issue? S/390 has a 31 (thirty-one) bit address space; the MSB of the PSW is not=20 part of the address and must be masked out. This is simply part of the=20 architecture, there's no way around it. > > +#ifdef __s390__ > > + func =3D NULL; /* does not work on S/390 for unknown > > reasons */ +#else > > func =3D gen_jcc_sub[s->cc_op - CC_OP_SUBB][jcc_op]; > > +#endif > > Hum. It wold be good to know what happens here. Indeed. :) > > +#ifdef __s390__ > > + if(!T1) > > + T0 =3D (int32_t)env->fcr0; > > + else if(T1 =3D=3D 25) [...] > > I guess this breaks when you _breathe_ at the compiler. Probably, but that is true for a significant part of the QEMU codebase... CU Uli --=20 SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG N=FCrnberg)