xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

ppc_video.c (2614B)


      1 /*
      2  * Copyright 1992 by Rich Murphey <Rich@Rice.edu>
      3  * Copyright 1993 by David Wexelblat <dwex@goblin.org>
      4  *
      5  * Permission to use, copy, modify, distribute, and sell this software and its
      6  * documentation for any purpose is hereby granted without fee, provided that
      7  * the above copyright notice appear in all copies and that both that
      8  * copyright notice and this permission notice appear in supporting
      9  * documentation, and that the names of Rich Murphey and David Wexelblat
     10  * not be used in advertising or publicity pertaining to distribution of
     11  * the software without specific, written prior permission.  Rich Murphey and
     12  * David Wexelblat make no representations about the suitability of this
     13  * software for any purpose.  It is provided "as is" without express or
     14  * implied warranty.
     15  *
     16  * RICH MURPHEY AND DAVID WEXELBLAT DISCLAIM ALL WARRANTIES WITH REGARD TO
     17  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
     18  * FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID WEXELBLAT BE LIABLE FOR
     19  * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
     20  * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
     21  * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
     22  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     23  *
     24  */
     25 
     26 #ifdef HAVE_XORG_CONFIG_H
     27 #include <xorg-config.h>
     28 #endif
     29 
     30 #include <X11/X.h>
     31 #include "xf86.h"
     32 #include "xf86Priv.h"
     33 
     34 #include "xf86_OSlib.h"
     35 #include "xf86OSpriv.h"
     36 
     37 #include "bus/Pci.h"
     38 
     39 /***************************************************************************/
     40 /* Video Memory Mapping section                                            */
     41 /***************************************************************************/
     42 
     43 #ifdef __OpenBSD__
     44 #define DEV_MEM "/dev/xf86"
     45 #endif
     46 
     47 Bool xf86EnableIO(void);
     48 void xf86DisableIO(void);
     49 
     50 void
     51 xf86OSInitVidMem(VidMemInfoPtr pVidMem)
     52 {
     53     pVidMem->initialised = TRUE;
     54     xf86EnableIO();
     55 }
     56 
     57 volatile unsigned char *ioBase = MAP_FAILED;
     58 
     59 Bool
     60 xf86EnableIO()
     61 {
     62     int fd = xf86Info.consoleFd;
     63 
     64     xf86MsgVerb(X_WARNING, 3, "xf86EnableIO %d\n", fd);
     65     if (ioBase == MAP_FAILED) {
     66         ioBase = mmap(NULL, 0x10000, PROT_READ | PROT_WRITE, MAP_SHARED, fd,
     67                       0xf2000000);
     68         xf86MsgVerb(X_INFO, 3, "xf86EnableIO: %08x\n", ioBase);
     69         if (ioBase == MAP_FAILED) {
     70             xf86MsgVerb(X_WARNING, 3, "Can't map IO space!\n");
     71             return FALSE;
     72         }
     73     }
     74     return TRUE;
     75 }
     76 
     77 void
     78 xf86DisableIO()
     79 {
     80 
     81     if (ioBase != MAP_FAILED) {
     82         munmap(__UNVOLATILE(ioBase), 0x10000);
     83         ioBase = MAP_FAILED;
     84     }
     85 }