Re: X on Lemote Yeeloong

Jared McNeill <[email protected]> Sat, 9 Jul 2016 17:44:13 -0300 (ADT)
Newsgroups gmane.os.netbsd.ports.evbmips,gmane.os.netbsd.ports.mips.devel
Message-ID <[email protected]>
On Sun, 24 Jan 2016, John D. Baker wrote:

> It still dies with "Memory fault."  Again, no core file unless started
> as "root".  Again, 'gdb' claims the resulting "Xorg.core" is not a core
> dump: File format not recognized.

I hit this issue today. Here's a fix that works for me. Not sure if I 
should commit it to xorg-server.old, xorg-server, or both.


Index: external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 vgaHW.h
--- external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h	9 Jun 2016 09:07:59 -0000	1.1.1.1
+++ external/mit/xorg-server.old/dist/hw/xfree86/vgahw/vgaHW.h	9 Jul 2016 20:40:45 -0000
@@ -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: external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c,v
retrieving revision 1.4
diff -u -p -r1.4 smi_driver.c
--- external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c	20 Jul 2015 00:10:28 -0000	1.4
+++ external/mit/xf86-video-siliconmotion/dist/src/smi_driver.c	9 Jul 2016 20:40:46 -0000
@@ -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