On 02/22/2012 03:36 PM, andrzej zaborowski wrote:
On 22 February 2012 11:15, Igor Mitsyanko<i.mitsya...@samsung.com>  wrote:
Convert three variables in DMAChannel state from type target_phys_addr_t to 
uint32_t,
use VMSTATE_UINT32 instead of VMSTATE_UINTTL for these variables.
We can do it safely because:
1) pxa2xx has 32-bit physical address;
2) rest of the code in this file treats these variables as uint32_t;
Why's uint32_t more correct though?  The purpose of using a named type
across qemu is to mark fields as memory addresses (similar to size_t
being used for sizes, etc.), uint32_t conveys less information -- only
the size.
It's obviously more informative, but I thought it's main purpose is to 
be used with code that could be executed for a different targets (with 
different address bus width).

It's a safe hack, but I don't see the rationale.
I don't consider this a hack, we are trying to emulate real hardware, 
and pxa lcd and dma controllers are intended to work with 32-bit bus. We 
should not have a possibility to use them with 64-bit targets.
If it's because VMSTATE_UINT32 requires that specific type than a less
ugly hack would be to make a pxa specific memory address type.

Introducing new type doesn't look pretty to me, maybe just rename 
variables to source_addr, dest_addr e.t.c?

--
Mitsyanko Igor
ASWG, Moscow R&D center, Samsung Electronics
email: i.mitsya...@samsung.com

Reply via email to