summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@apple.com>2011-11-01 14:59:15 -0700
committerJeremy Huddleston <jeremyhu@apple.com>2011-11-18 11:26:02 -0800
commiteb3377ffb8a7baa26c9831e56ed782d48b28fa71 (patch)
tree42c366dc42a80ce9a67139a330258a670170ea10
parenta551f126cc4af7a476d9c8fd0cb309d5aa600d54 (diff)
xfree86: Fix powerpc build with -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast
memType is a uint64_t on powerpc. Using memType only really makes sense for *physical* addresses, which can be 64-bit for 32-bit systems running on 64-bit hardware. However, unmapVidMem() only deals with *virtual* addresses, which are guaranteed to fit into an uintptr_t. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
-rw-r--r--hw/xfree86/os-support/linux/lnx_video.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
index e711784e7..0d91f7a52 100644
--- a/hw/xfree86/os-support/linux/lnx_video.c
+++ b/hw/xfree86/os-support/linux/lnx_video.c
@@ -465,11 +465,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));
+ uintptr_t alignOff = (uintptr_t)Base
+ - ((uintptr_t)Base & ~(getpagesize() - 1));
- DebugF("alignment offset: %lx\n",alignOff);
- munmap((caddr_t)((memType)Base - alignOff), (Size + alignOff));
+ DebugF("alignment offset: %lx\n", (unsigned long)alignOff);
+ munmap((void *)((uintptr_t)Base - alignOff), (Size + alignOff));
}