qemu-s390x
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qemu-s390x] [PULL 00/46] First batch of s390x patches for 2.12


From: Cornelia Huck
Subject: Re: [qemu-s390x] [PULL 00/46] First batch of s390x patches for 2.12
Date: Fri, 15 Dec 2017 10:11:35 +0100

On Fri, 15 Dec 2017 09:35:10 +0100
Christian Borntraeger <address@hidden> wrote:

> On 12/14/2017 08:05 PM, Peter Maydell wrote:
> > On 14 December 2017 at 17:09, Cornelia Huck <address@hidden> wrote:  
> >> The following changes since commit 
> >> 0ef0583d5adceb9138bdb47494dabd1549ac5b6d:
> >>
> >>   Merge remote-tracking branch 'remotes/dgilbert/tags/pull-hmp-20171214' 
> >> into staging (2017-12-14 15:32:32 +0000)
> >>
> >> are available in the git repository at:
> >>
> >>   git://github.com/cohuck/qemu tags/s390x-20171214
> >>
> >> for you to fetch changes up to a9e3065c6579df8652ce38502276ac0a13180d6f:
> >>
> >>   s390-ccw-virtio: allow for systems larger that 7.999TB (2017-12-14 
> >> 17:56:54 +0100)
> >>
> >> ----------------------------------------------------------------
> >> s390x changes for 2.12:
> >> - Lots of tcg improvements: ccw hotplug is now working and we can run
> >>   a Linux kernel built for z12 under tcg
> >> - zPCI improvements to get virtio-pci working
> >> - get rid of the cssid restrictions for virtual and non-virtual channel
> >>   devices
> >> - we now support 8TB+ systems
> >> - 2.12 compat machine
> >> - fixes and cleanups
> >>
> >> ----------------------------------------------------------------  
> > 
> > Hi; I'm afraid this fails to build on 32-bit:
> > 
> > In file included from
> > /usr/lib/arm-linux-gnueabihf/glib-2.0/include/glibconfig.h:9:0,
> >                  from /usr/include/glib-2.0/glib/gtypes.h:32,
> >                  from /usr/include/glib-2.0/glib/galloca.h:32,
> >                  from /usr/include/glib-2.0/glib.h:30,
> >                  from /home/peter.maydell/qemu/include/glib-compat.h:19,
> >                  from /home/peter.maydell/qemu/include/qemu/osdep.h:107,
> >                  from 
> > /home/peter.maydell/qemu/hw/s390x/s390-virtio-ccw.c:13:
> > /home/peter.maydell/qemu/hw/s390x/s390-virtio-ccw.c: In function
> > 's390_memory_init':
> > /usr/include/glib-2.0/glib/gmacros.h:291:26: error: comparison is
> > always true due to limited range of data type [-Werror=type-limits]
> >  #define MIN(a, b)  (((a) < (b)) ? (a) : (b))
> >                           ^
> > /home/peter.maydell/qemu/hw/s390x/s390-virtio-ccw.c:177:17: note: in
> > expansion of macro 'MIN'
> >          chunk = MIN(mem_size, KVM_SLOT_MAX_BYTES);
> >                  ^
> > 
> > (ram_addr_t can be a 32-bit type).  

This a 32 bit host, isn't it? I don't have regular access to one...

> 
> gcc seems to be extra clever, even a cast does not work.
> Something like this seems to work.
> 
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 80e753a5ef..9abb8de9f9 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -172,9 +172,10 @@ static void s390_memory_init(ram_addr_t mem_size)
>      name = g_strdup_printf("s390.ram");
>      while (mem_size) {
>          MemoryRegion *ram = g_new(MemoryRegion, 1);
> +       unsigned long long size = mem_size;
>  
>          /* KVM does not allow memslots >= 8 TB */
> -        chunk = MIN(mem_size, KVM_SLOT_MAX_BYTES);
> +        chunk = MIN(size, KVM_SLOT_MAX_BYTES);
>          memory_region_allocate_system_memory(ram, NULL, name, chunk);
>          memory_region_add_subregion(sysmem, offset, ram);
>          mem_size -= chunk;
> 

Will see how I can test this and then merge it.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]