From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:35821) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVbhr-0002iy-P8 for qemu-devel@nongnu.org; Wed, 11 Mar 2015 04:09:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVbhn-0002Zn-CS for qemu-devel@nongnu.org; Wed, 11 Mar 2015 04:09:31 -0400 Received: from e06smtp15.uk.ibm.com ([195.75.94.111]:49065) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVbhn-0002ZL-3M for qemu-devel@nongnu.org; Wed, 11 Mar 2015 04:09:27 -0400 Received: from /spool/local by e06smtp15.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 11 Mar 2015 08:09:24 -0000 Received: from b06cxnps3074.portsmouth.uk.ibm.com (d06relay09.portsmouth.uk.ibm.com [9.149.109.194]) by d06dlp02.portsmouth.uk.ibm.com (Postfix) with ESMTP id 7A699219004D for ; Wed, 11 Mar 2015 08:09:13 +0000 (GMT) Received: from d06av04.portsmouth.uk.ibm.com (d06av04.portsmouth.uk.ibm.com [9.149.37.216]) by b06cxnps3074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t2B89MjD25886758 for ; Wed, 11 Mar 2015 08:09:22 GMT Received: from d06av04.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av04.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t2B89Lrn008915 for ; Wed, 11 Mar 2015 02:09:22 -0600 Message-ID: <54FFF831.8050800@de.ibm.com> Date: Wed, 11 Mar 2015 09:09:21 +0100 From: Christian Borntraeger MIME-Version: 1.0 References: <1425976693-18087-1-git-send-email-borntraeger@de.ibm.com> <54FF6F98.4080102@de.ibm.com> <87k2yormoh.fsf@blackfin.pond.sub.org> In-Reply-To: <87k2yormoh.fsf@blackfin.pond.sub.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [PULL 00/20] s390x/kvm: Features and fixes for 2.3 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: Peter Maydell , Thomas Huth , Alexander Graf , qemu-devel , Jens Freimann , Cornelia Huck , Richard Henderson Am 11.03.2015 um 08:57 schrieb Markus Armbruster: > Christian Borntraeger writes: > >> Am 10.03.2015 um 19:01 schrieb Peter Maydell: >>> On 10 March 2015 at 08:37, Christian Borntraeger >>> wrote: >>>> Peter, >>>> >>>> this pull reuqest contains a header sync to 4.0-rc3. This should cause >>>> no merge conflicts with other header syncs against 4.0-rc2. So here >>>> is the s390 pull request. >>>> >>>> The following changes since commit 277263e1b320d759a760ba6c5ea75ec268f929e5: >>>> >>>> Merge remote-tracking branch >>>> remotes/agraf/tags/signed-ppc-for-upstream' into staging >>>> (2015-03-09 14:04:14 +0000) >>>> >>>> are available in the git repository at: >>>> >>>> git://github.com/borntraeger/qemu.git tags/s390x-20150310 >>>> >>>> for you to fetch changes up to 6342cb1443b37d249a0e2005128ade07a80a97f5: >>>> >>>> s390-ccw: rebuild BIOS (2015-03-10 09:26:33 +0100) >>> >>> Unfortunately I see build failures on 32 bit hosts: >>> >>> /root/qemu/hw/s390x/ipl.c: In function ‘bios_translate_addr’: >>> /root/qemu/hw/s390x/ipl.c:101:24: error: cast from pointer to integer >>> of different size [-Werror=pointer-to-int-cast] >>> /root/qemu/hw/s390x/ipl.c: In function ‘s390_ipl_init’: >>> /root/qemu/hw/s390x/ipl.c:135:30: error: cast to pointer from integer >>> of different size [-Werror=int-to-pointer-cast] >>> >> >> O dear. Seems that every pull request after your vacation is somewhat broken. >> I fixed up patch 19 (" s390/bios: Make the s390-ccw.img relocatable") as >> such >> >> diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c >> index ab7fd8a..6ed18d3 100644 >> --- a/hw/s390x/ipl.c >> +++ b/hw/s390x/ipl.c >> @@ -98,7 +98,7 @@ static const VMStateDescription vmstate_ipl = { >> >> static uint64_t bios_translate_addr(void *opaque, uint64_t srcaddr) >> { >> - uint64_t dstaddr = (uint64_t)opaque; >> + uint64_t dstaddr = (uint64_t) (unsigned long) opaque; >> /* >> * Assuming that our s390-ccw.img was linked for starting at address 0, >> * we can simply add the destination address for the final location > > Won't this shift the warning from hosts where sizeof(void *) != > sizeof(uint64_t) to hosts where it's != sizeof(unsigned long)? Indeed. I was only thinking about Linux, where sizeof(unsigned long) == sizeof(void*). But Windows has a different model. We have to cover all kind of lp64, llp64 and friends. > What about using uintptr_t instead? Should work. Will have a try on Linux 32bit/64bit..no way to test on windows, though :-(