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>
This commit is contained in:
Jeremy Huddleston 2011-11-01 14:59:15 -07:00
parent a551f126cc
commit eb3377ffb8

View File

@ -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));
}