diff options
Diffstat (limited to 'hw/xfree86/os-support/bsd/arm_video.c')
-rw-r--r-- | hw/xfree86/os-support/bsd/arm_video.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/hw/xfree86/os-support/bsd/arm_video.c b/hw/xfree86/os-support/bsd/arm_video.c index 96abe2ea4..36943add1 100644 --- a/hw/xfree86/os-support/bsd/arm_video.c +++ b/hw/xfree86/os-support/bsd/arm_video.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/arm_video.c,v 1.1 2002/08/06 13:08:38 herrb Exp $ */ +/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/bsd/arm_video.c,v 1.2 2003/03/14 13:46:03 tsi Exp $ */ /* * Copyright 1992 by Rich Murphey <Rich@Rice.edu> * Copyright 1993 by David Wexelblat <dwex@goblin.org> @@ -135,7 +135,7 @@ checkDevMem(Bool warn) if ((fd = open(DEV_MEM, O_RDWR)) >= 0) { /* Try to map a page at the VGA address */ - base = mmap((caddr_t)0, 4096, PROT_READ|PROT_WRITE, + base = mmap((caddr_t)0, 4096, PROT_READ | PROT_WRITE, MAP_FLAGS, fd, (off_t)0xA0000 + BUS_BASE); if (base != MAP_FAILED) @@ -190,8 +190,10 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) FatalError("xf86MapVidMem: failed to open %s (%s)\n", DEV_MEM, strerror(errno)); } - base = mmap((caddr_t)0, Size, PROT_READ|PROT_WRITE, - MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX); + base = mmap((caddr_t)0, Size, + (flags & VIDMEM_READONLY) ? + PROT_READ : (PROT_READ | PROT_WRITE), + MAP_FLAGS, devMemFd, (off_t)Base + BUS_BASE_BWX); if (base == MAP_FAILED) { FatalError("%s: could not mmap %s [s=%x,a=%x] (%s)\n", @@ -207,9 +209,11 @@ mapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags) FatalError("%s: Address 0x%x outside allowable range\n", "xf86MapVidMem", Base); } - base = mmap(0, Size, PROT_READ|PROT_WRITE, MAP_FLAGS, - xf86Info.screenFd, - (unsigned long)Base - 0xA0000); + base = mmap(0, Size, + (flags & VIDMEM_READONLY) ? + PROT_READ : (PROT_READ | PROT_WRITE), + MAP_FLAGS, xf86Info.screenFd, + (unsigned long)Base - 0xA0000); if (base == MAP_FAILED) { FatalError("xf86MapVidMem: Could not mmap /dev/vga (%s)\n", @@ -353,7 +357,7 @@ xf86MapInfoMap(struct memAccess *memInfoP, pointer Base, unsigned long Size) if((memInfoP->regionVirtBase = mmap((caddr_t)0, Size, - PROT_READ|PROT_WRITE, + PROT_READ | PROT_WRITE, MAP_SHARED, xf86Info.screenFd, (unsigned long)mapInfoP->u.map_info_mmap.map_offset)) @@ -485,7 +489,7 @@ xf86EnableIO() if ((fd = open("/dev/ttyC0", O_RDWR)) >= 0) { /* Try to map a page at the pccons I/O space */ - base = (pointer)mmap((caddr_t)0, 65536, PROT_READ|PROT_WRITE, + base = (pointer)mmap((caddr_t)0, 65536, PROT_READ | PROT_WRITE, MAP_FLAGS, fd, (off_t)0x0000); if (base != (pointer)-1) { @@ -571,7 +575,7 @@ int ScreenNum; #ifdef USE_ARC_MMAP if ((fd = open("/dev/ttyC0", O_RDWR)) >= 0) { /* Try to map a page at the pccons I/O space */ - base = (pointer)mmap((caddr_t)0, 65536, PROT_READ|PROT_WRITE, + base = (pointer)mmap((caddr_t)0, 65536, PROT_READ | PROT_WRITE, MAP_FLAGS, fd, (off_t)0x0000); if (base != (pointer)-1) { @@ -613,7 +617,7 @@ int ScreenNum; if (devMemFd >= 0 && useDevMem) { - base = (pointer)mmap((caddr_t)0, 0x400, PROT_READ|PROT_WRITE, + base = (pointer)mmap((caddr_t)0, 0x400, PROT_READ | PROT_WRITE, MAP_FLAGS, devMemFd, (off_t)DEV_MEM_IOBASE); if (base != (pointer)-1) |