Module Name:    xsrc
Committed By:   jmcneill
Date:           Sat Jul  9 22:19:34 UTC 2016

Modified Files:
        xsrc/external/mit/xf86-video-siliconmotion/dist/src: smi_driver.c
        xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw: vgaHW.h
        xsrc/external/mit/xorg-server/dist/hw/xfree86/vgahw: vgaHW.h

Log Message:
Avoid legacy VGA I/O port access on MIPS. Xorg converts the I/O port
address to a pointer and dereferences it, and then seg faults.

This fixes Xorg on my Lemote YeeLoong netbook.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
    xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c
cvs rdiff -u -r1.1.1.1 -r1.2 \
    xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h
cvs rdiff -u -r1.1.1.3 -r1.2 \
    xsrc/external/mit/xorg-server/dist/hw/xfree86/vgahw/vgaHW.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c
diff -u xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c:1.4 xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c:1.5
--- xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c:1.4	Mon Jul 20 00:10:28 2015
+++ xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c	Sat Jul  9 22:19:34 2016
@@ -2010,6 +2010,7 @@ SMI_EnableVideo(ScrnInfoPtr pScrn)
 void
 SMI_EnableMmio(ScrnInfoPtr pScrn)
 {
+#if !defined(__mips__)
     SMIPtr pSmi = SMIPTR(pScrn);
 
     ENTER();
@@ -2038,11 +2039,13 @@ SMI_EnableMmio(ScrnInfoPtr pScrn)
     }
 
     LEAVE();
+#endif
 }
 
 void
 SMI_DisableMmio(ScrnInfoPtr pScrn)
 {
+#if !defined(__mips__)
     SMIPtr pSmi = SMIPTR(pScrn);
 
     ENTER();
@@ -2062,6 +2065,7 @@ SMI_DisableMmio(ScrnInfoPtr pScrn)
     }
 
     LEAVE();
+#endif
 }
 
 static void

Index: xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h
diff -u xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h:1.2
--- xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h:1.1.1.1	Thu Jun  9 09:07:59 2016
+++ xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h	Sat Jul  9 22:19:34 2016
@@ -174,7 +174,7 @@ typedef struct _vgaHWRec {
 #define BITS_PER_GUN 6
 #define COLORMAP_SIZE 256
 
-#if defined(__powerpc__) || defined(__arm__) || defined(__s390__) || defined(__nds32__)
+#if defined(__powerpc__) || defined(__arm__) || defined(__mips__) || defined(__s390__) || defined(__nds32__)
 #define DACDelay(hw) /* No legacy VGA support */
 #else
 #define DACDelay(hw)							      \

Index: xsrc/external/mit/xorg-server/dist/hw/xfree86/vgahw/vgaHW.h
diff -u xsrc/external/mit/xorg-server/dist/hw/xfree86/vgahw/vgaHW.h:1.1.1.3 xsrc/external/mit/xorg-server/dist/hw/xfree86/vgahw/vgaHW.h:1.2
--- xsrc/external/mit/xorg-server/dist/hw/xfree86/vgahw/vgaHW.h:1.1.1.3	Tue Nov 23 05:21:46 2010
+++ xsrc/external/mit/xorg-server/dist/hw/xfree86/vgahw/vgaHW.h	Sat Jul  9 22:19:34 2016
@@ -174,7 +174,7 @@ typedef struct _vgaHWRec {
 #define BITS_PER_GUN 6
 #define COLORMAP_SIZE 256
 
-#if defined(__powerpc__) || defined(__arm__) || defined(__s390__) || defined(__nds32__)
+#if defined(__powerpc__) || defined(__arm__) || defined(__mips__) || defined(__s390__) || defined(__nds32__)
 #define DACDelay(hw) /* No legacy VGA support */
 #else
 #define DACDelay(hw)							      \

Reply via email to