On Sun, Oct 17, 2010 at 11:18 PM, Andreas Färber andreas.faerber@web.de wrote:
On ppc64, cell size is 32 bits but pointers are 64-bit. Thus, direct casts result in warnings, treated as errors.
Use [u]intptr_t cast or cell2pointer and pointer2cell macros as necessary.
-int uart_init(uint64_t port, unsigned long speed) +int uart_init(uintptr_t port, unsigned long speed)
This is not correct. The physical addresses on Sparc32 are really 36 bits wide, so uintptr_t is not wide enough. For that, we'd need a physical address type. We could reuse for example QEMU name, target_phys_addr_t.