Patchwork vga: Fix type of map_addr/end.

login
register
mail settings
Submitter Richard Henderson
Date June 14, 2011, 5:44 p.m.
Message ID <1308073492-24789-1-git-send-email-rth@twiddle.net>
Download mbox | patch
Permalink /patch/100401/
State New
Headers show

Comments

Richard Henderson - June 14, 2011, 5:44 p.m.
These addresses have been passed through pci_to_cpu_addr,
and thus need to be full target_phys_addr_t.

Signed-off-by: Richard Henderson <rth@twiddle.net>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
---
 hw/vga_int.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Jan's recent patch series reminded me that I found a related
problem in my alpha-softmmu port this past weekend.  Note that
the slight re-ordering of the members avoids extra padding in
the structure due to alignment.
Jan Kiszka - June 14, 2011, 6:14 p.m.
On 2011-06-14 19:44, Richard Henderson wrote:
> These addresses have been passed through pci_to_cpu_addr,
> and thus need to be full target_phys_addr_t.

Basically correct, but you also need to change the types of
lfb_addr/end, no?

> 
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> Cc: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  hw/vga_int.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> Jan's recent patch series reminded me that I found a related
> problem in my alpha-softmmu port this past weekend.  Note that
> the slight re-ordering of the members avoids extra padding in
> the structure due to alignment.

Yeah, and I just noticed a harmless mistyping in my patches while
thinking about your type changes.

Jan

> 
> 
> diff --git a/hw/vga_int.h b/hw/vga_int.h
> index d2811bd..b65775b 100644
> --- a/hw/vga_int.h
> +++ b/hw/vga_int.h
> @@ -109,9 +109,9 @@ typedef struct VGACommonState {
>      uint32_t vram_size;
>      uint32_t lfb_addr;
>      uint32_t lfb_end;
> -    uint32_t map_addr;
> -    uint32_t map_end;
>      uint32_t lfb_vram_mapped; /* whether 0xa0000 is mapped as ram */
> +    target_phys_addr_t map_addr;
> +    target_phys_addr_t map_end;
>      uint32_t latch;
>      uint8_t sr_index;
>      uint8_t sr[256];
Richard Henderson - June 14, 2011, 6:41 p.m.
On 06/14/2011 11:14 AM, Jan Kiszka wrote:
> On 2011-06-14 19:44, Richard Henderson wrote:
>> These addresses have been passed through pci_to_cpu_addr,
>> and thus need to be full target_phys_addr_t.
> 
> Basically correct, but you also need to change the types of
> lfb_addr/end, no?

Ah, yes, I see that path now.  Will re-send.


r~

Patch

diff --git a/hw/vga_int.h b/hw/vga_int.h
index d2811bd..b65775b 100644
--- a/hw/vga_int.h
+++ b/hw/vga_int.h
@@ -109,9 +109,9 @@  typedef struct VGACommonState {
     uint32_t vram_size;
     uint32_t lfb_addr;
     uint32_t lfb_end;
-    uint32_t map_addr;
-    uint32_t map_end;
     uint32_t lfb_vram_mapped; /* whether 0xa0000 is mapped as ram */
+    target_phys_addr_t map_addr;
+    target_phys_addr_t map_end;
     uint32_t latch;
     uint8_t sr_index;
     uint8_t sr[256];