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