While this does fix the build failure, I'd much rather change memType to be a 
uintptr_t everywhere, but it was explicitly set to uint64_t for 32bit powerpc 
by Ian in the commit referenced below.  Ian, can you explain why you set 
memType to 64bits even though void * is only 32bits?  You referenced ppc32 code 
running on ppc64, but I don't see why that would be problematic.

commit e18d34f4238e13e226b0407fa2f5f77d2038de39
Author: Ian Romanick <idr@umwelt.(none)>
Date:   Fri Jul 21 16:47:45 2006 -0700

    Make the various implementations of xf86ExtendedInitInt10 use the
    libpciaccess interfaces.  This eliminates all calls to mapPciRom,
    which in turn allows the elimination of hw/xfree86/int10/pci.c.


On Nov 1, 2011, at 3:01 PM, Jeremy Huddleston wrote:

> memType is a uint64_t on powerpc
> 
> Signed-off-by: Jeremy Huddleston <[email protected]>
> ---
> hw/xfree86/os-support/linux/lnx_video.c |    6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/xfree86/os-support/linux/lnx_video.c 
> b/hw/xfree86/os-support/linux/lnx_video.c
> index 3d45511..c12a654 100644
> --- a/hw/xfree86/os-support/linux/lnx_video.c
> +++ b/hw/xfree86/os-support/linux/lnx_video.c
> @@ -469,11 +469,11 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned 
> long Size, int flags)
> static void
> unmapVidMem(int ScreenNum, pointer Base, unsigned long Size)
> {
> -    memType alignOff = (memType)Base 
> -     - ((memType)Base & ~(getpagesize() - 1));
> +    memType alignOff = (memType)(uintptr_t)Base 
> +     - ((memType)(uintptr_t)Base & ~(getpagesize() - 1));
> 
>     DebugF("alignment offset: %lx\n",alignOff);
> -    munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff));
> +    munmap((void *)(uintptr_t)((memType)(uintptr_t)Base - alignOff), (Size + 
> alignOff));
> }
> 
> 
> -- 
> 1.7.7

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to