qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] build: fix target_phys_addr_t to 64-bit


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH] build: fix target_phys_addr_t to 64-bit
Date: Thu, 12 Jan 2012 19:51:44 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:9.0) Gecko/20111220 Thunderbird/9.0

Am 12.01.2012 18:54, schrieb Anthony Liguori:
> This simplifies the build quite a bit and improves the builds performance by
> not rebuilding many objects twice.
> 
> There were a surprising number of places that had assumed wrong things about 
> the
> size of target_phys_addr_t including that it was fixed at 32-bit and that it
> was identical to target_ulong.
> 
> Signed-off-by: Anthony Liguori <address@hidden>
> ---
>  Makefile        |    2 +-
>  Makefile.hw     |   25 --------
>  Makefile.objs   |  182 
> +++++++++++++++++++++++++++----------------------------
>  Makefile.target |    4 -
>  configure       |   13 +----
>  cpu-common.h    |    8 ---
>  dma.h           |    2 -
>  hw/a9mpcore.c   |    4 +-
>  hw/hw.h         |    2 +-
>  hw/intel-hda.c  |    4 -
>  hw/omap.h       |    6 --
>  hw/pxa2xx_dma.c |    6 +-
>  hw/pxa2xx_lcd.c |    6 +-
>  hw/rtl8139.c    |    4 -
>  hw/sh_serial.c  |    6 +-
>  monitor.c       |   21 ------
>  qemu-log.h      |    4 +-
>  targphys.h      |   11 ---
>  18 files changed, 106 insertions(+), 204 deletions(-)
>  delete mode 100644 Makefile.hw

> diff --git a/cpu-common.h b/cpu-common.h
> index a40c57d..85a3b35 100644
> --- a/cpu-common.h
> +++ b/cpu-common.h

> @@ -23,15 +21,9 @@ enum device_endian {
>  };
>  
>  /* address in the RAM (different from a physical address) */
> -#if defined(CONFIG_XEN_BACKEND) && TARGET_PHYS_ADDR_BITS == 64
>  typedef uint64_t ram_addr_t;
>  #  define RAM_ADDR_MAX UINT64_MAX
>  #  define RAM_ADDR_FMT "%" PRIx64
> -#else
> -typedef unsigned long ram_addr_t;
> -#  define RAM_ADDR_MAX ULONG_MAX
> -#  define RAM_ADDR_FMT "%lx"
> -#endif

$subject should mention ram_addr_t being changed as well.

> diff --git a/hw/pxa2xx_dma.c b/hw/pxa2xx_dma.c
> index cb28107..ffb391d 100644
> --- a/hw/pxa2xx_dma.c
> +++ b/hw/pxa2xx_dma.c
> @@ -512,9 +512,9 @@ static VMStateDescription vmstate_pxa2xx_dma_chan = {
>      .minimum_version_id = 1,
>      .minimum_version_id_old = 1,
>      .fields = (VMStateField[]) {
> -        VMSTATE_UINTTL(descr, PXA2xxDMAChannel),
> -        VMSTATE_UINTTL(src, PXA2xxDMAChannel),
> -        VMSTATE_UINTTL(dest, PXA2xxDMAChannel),
> +        VMSTATE_UINT64(descr, PXA2xxDMAChannel),
> +        VMSTATE_UINT64(src, PXA2xxDMAChannel),
> +        VMSTATE_UINT64(dest, PXA2xxDMAChannel),
>          VMSTATE_UINT32(cmd, PXA2xxDMAChannel),
>          VMSTATE_UINT32(state, PXA2xxDMAChannel),
>          VMSTATE_INT32(request, PXA2xxDMAChannel),
> diff --git a/hw/pxa2xx_lcd.c b/hw/pxa2xx_lcd.c
> index 5dd4ef0..a84cd77 100644
> --- a/hw/pxa2xx_lcd.c
> +++ b/hw/pxa2xx_lcd.c
> @@ -921,11 +921,11 @@ static const VMStateDescription vmstate_dma_channel = {
>      .minimum_version_id = 0,
>      .minimum_version_id_old = 0,
>      .fields      = (VMStateField[]) {
> -        VMSTATE_UINTTL(branch, struct DMAChannel),
> +        VMSTATE_UINT64(branch, struct DMAChannel),
>          VMSTATE_UINT8(up, struct DMAChannel),
>          VMSTATE_BUFFER(pbuffer, struct DMAChannel),
> -        VMSTATE_UINTTL(descriptor, struct DMAChannel),
> -        VMSTATE_UINTTL(source, struct DMAChannel),
> +        VMSTATE_UINT64(descriptor, struct DMAChannel),
> +        VMSTATE_UINT64(source, struct DMAChannel),
>          VMSTATE_UINT32(id, struct DMAChannel),
>          VMSTATE_UINT32(command, struct DMAChannel),
>          VMSTATE_END_OF_LIST()

I'm pretty sure that PXA was 32-bit (arm), so version_id and
minimum_version_id need to be bumped.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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