diff options
Diffstat (limited to 'x11-base/xorg-server/files/xorg-server-9999-loongson.patch')
-rw-r--r-- | x11-base/xorg-server/files/xorg-server-9999-loongson.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/x11-base/xorg-server/files/xorg-server-9999-loongson.patch b/x11-base/xorg-server/files/xorg-server-9999-loongson.patch new file mode 100644 index 0000000..cdc391b --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-9999-loongson.patch @@ -0,0 +1,45 @@ +diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c +index ed35766..017f376 100644 +--- a/hw/xfree86/os-support/linux/lnx_video.c ++++ b/hw/xfree86/os-support/linux/lnx_video.c +@@ -493,7 +493,7 @@ unmapVidMem(int ScreenNum, pointer Base, unsigned long Size) + /* I/O Permissions section */ + /***************************************************************************/ + +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) + volatile unsigned char *ioBase = NULL; + + #ifndef __NR_pciconfig_iobase +@@ -505,7 +505,7 @@ volatile unsigned char *ioBase = NULL; + Bool + xf86EnableIO(void) + { +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) + int fd; + unsigned int ioBase_phys; + #endif +@@ -513,8 +513,12 @@ xf86EnableIO(void) + if (ExtendedEnabled) + return TRUE; + +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) ++#ifdef __powerpc__ + ioBase_phys = syscall(__NR_pciconfig_iobase, 2, 0, 0); ++#else ++ ioBase_phys = 0x1fd00000; ++#endif + + fd = open("/dev/mem", O_RDWR); + if (ioBase == NULL) { +@@ -532,7 +536,7 @@ xf86EnableIO(void) + #endif + } + close(fd); +-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) ++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) + if (ioperm(0, 1024, 1) || iopl(3)) { + if (errno == ENODEV) + ErrorF("xf86EnableIOPorts: no I/O ports found\n"); |