Module Name:    xsrc
Committed By:   tsutsui
Date:           Thu Nov  5 16:06:08 UTC 2020

Modified Files:
        xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k: X68kConfig
            x68k.h x68kConfig.c x68kFb.c x68kGraph.c x68kInit.c x68kKbd.c
            x68kReg.h x68kText.c

Log Message:
Cherry-pick Xorg version independent changes from xorg-server.

 Normalize #include paths.
 Call LogInit() for logging to /var/log/X68k.%s.log as Xorg and Xsun servers.
 Fix a suspicious chunk disabled on xfree 4.x migration as sunKbd.c does.
 Restore video mode properly on exit even on CRT Mode 19 (640x480 31kHz VGA).
 Add ModeDef for 640x480x4bit PseudoColor.
 Avoid a use of __UNVOLATILE(3).
 Remove unnecessary pointer casts from malloc(3).
 Use exact-width interger types properly for register accesses etc.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig
cvs rdiff -u -r1.2 -r1.3 \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h
cvs rdiff -u -r1.3 -r1.4 \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kFb.c \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kGraph.c \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kReg.h \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kText.c
cvs rdiff -u -r1.4 -r1.5 \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c \
    xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c

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/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.1.1.1 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.2
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig:1.1.1.1	Thu Jun  9 09:07:59 2016
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/X68kConfig	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-;; $NetBSD: X68kConfig,v 1.1.1.1 2016/06/09 09:07:59 mrg Exp $
+;; $NetBSD: X68kConfig,v 1.2 2020/11/05 16:06:08 tsutsui Exp $
 ;;----------------------------------------------------------------
 ;; X68kConfig: sample configuration for X68k
 ;; written by Yasushi Yamasaki
@@ -52,6 +52,14 @@
         91    9   17   81  567    5   40  552   27
        789    3    0)
 
+;
+; 640x480x4bit PseudoColor
+; CRTC-R20 = 0x0417(1047) VIDEOC-R0 = 0x0004
+;
+(ModeDef Pseudo16Color640x480 Graphic 4 PseudoColor  640 480
+        99   11   13   93  524    1   33  513   27
+      1047    4    0)
+
 ;;----------------------------------------------------------------
 ;; tricky modes
 ;;----------------------------------------------------------------
@@ -100,6 +108,7 @@
 ;(Mode Monochrome1024x768)
 ;(Mode Pseudo16Color1024x768)
 ;(Mode NeedsMultiScan)
+;(Mode Pseudo16Color640x480)
 
 ;;----------------------------------------------------------------
 ;; input devices

Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h:1.2 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h:1.3
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h:1.2	Fri Apr 10 16:49:36 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68k.h	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68k.h,v 1.2 2020/04/10 16:49:36 tsutsui Exp $ */
+/* $NetBSD: x68k.h,v 1.3 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -43,12 +43,12 @@
 #include <machine/grfioctl.h>
 
 /* generic X */
-#include <X.h>
-#include <Xmd.h>
+#include <X11/X.h>
+#include <X11/Xmd.h>
 #define XK_KATAKANA
-#include <keysym.h>
+#include <X11/keysym.h>
 #define NEED_EVENTS
-#include <Xproto.h>
+#include <X11/Xproto.h>
 
 /* dix */
 #include <misc.h>
@@ -79,7 +79,7 @@ typedef struct _X68kScreenRec {
     int scr_height;             /* screen height       */
     int dpi;                    /* dots per inch       */
     uint8_t *fb;                /* frame buffer VA     */
-    volatile FbReg *reg;        /* control register VA */
+    FbReg *reg;                 /* control register VA */
     X68kFbReg x68kreg;          /* control register    */
     int mapsize;                /* size of mapped memory */
     ColormapPtr installedMap;   /* installed colormap    */

Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.4
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c:1.3	Sat Aug  1 20:09:03 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kConfig.c	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kConfig.c,v 1.3 2020/08/01 20:09:03 tsutsui Exp $ */
+/* $NetBSD: x68kConfig.c,v 1.4 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -176,7 +176,7 @@ getToken(void)
     static int line = 1;
     Token *ret;
 
-    ret = (Token *)malloc(sizeof(Token));
+    ret = malloc(sizeof(Token));
     if (ret == NULL)
         FatalError("Out of memory");
     while (TRUE) {
@@ -202,7 +202,7 @@ getToken(void)
     /* is a symbol? */
     if (isalpha(c)) {
         int i = 0;
-        ret->content.symbol = (char *)malloc(32 * sizeof(char));
+        ret->content.symbol = malloc(32 * sizeof(char));
         if (ret->content.symbol == NULL)
             FatalError("Out of memory");
         do {
@@ -295,7 +295,7 @@ parseCommand(void)
             break;
         }
         argc++;
-        argv = (Token **)realloc(argv, sizeof(Token *) * argc);
+        argv = realloc(argv, sizeof(Token *) * argc);
         if (argv == NULL)
             FatalError("Out of memory");
         argv[argc-1] = token;
@@ -395,7 +395,7 @@ parseModeDef(int argc, Token **argv)
 
     checkArguments(18, argtype, argc-1, argv);
 
-    mode = (Mode *)malloc(sizeof(Mode));
+    mode = malloc(sizeof(Mode));
     if (mode == NULL)
         FatalError("Out of memory");
     mode->name = strdup(argv[1]->content.symbol);
@@ -545,7 +545,7 @@ parseMode(int argc, Token **argv)
             x68kFbProc[0].open = x68kGraphOpen;
             x68kFbProc[0].init = x68kGraphInit;
             x68kFbProc[0].close = x68kGraphClose;
-	    x68kFormat = (PixmapFormatRec*) malloc (sizeof(PixmapFormatRec));
+	    x68kFormat = malloc (sizeof(PixmapFormatRec));
 	    x68kFormat->scanlinePad = BITMAP_SCANLINE_PAD;
             x68kFormat->bitsPerPixel = 16;
             switch (mode->depth) {
Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kFb.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kFb.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kFb.c:1.4
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kFb.c:1.3	Sat Aug  1 20:09:03 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kFb.c	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kFb.c,v 1.3 2020/08/01 20:09:03 tsutsui Exp $ */
+/* $NetBSD: x68kFb.c,v 1.4 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -30,6 +30,8 @@ static void x68kRegSetup(X68kScreenRec *
 
 DevPrivateKeyRec x68kScreenPrivateKeyRec;
 
+static int cons_dwidth;
+
 /*-------------------------------------------------------------------------
  * function "x68kFbCommonOpen"
  *
@@ -68,6 +70,7 @@ x68kFbCommonOpen(X68kScreenRec *pPriv, c
     pPriv->fb = (uint8_t *)((uint32_t)pPriv->reg + gi.gd_regsize);
 
     x68kRegSetup( pPriv );
+    cons_dwidth = gi.gd_dwidth;
 
     return TRUE;
 }
@@ -83,7 +86,8 @@ x68kFbCommonOpen(X68kScreenRec *pPriv, c
 void
 x68kFbCommonClose(X68kScreenRec *pPriv)
 {
-    X68kFbReg graphNone = {
+    static const X68kFbReg graphNone_mode16 = {
+	/* CRT mode 16 (768x512 31.5kHz) */
         { 137,14, 28, 124,
           567, 5, 40, 552,
            27, 0,  0,   0,
@@ -93,12 +97,23 @@ x68kFbCommonClose(X68kScreenRec *pPriv)
         { 0x0004, 0x21e4, 0x0020 },
         0
     };
+    static const X68kFbReg graphNone_mode19 = {
+	/* CRT mode 19 (640x480 31.5kHz VGA mode) */
+        {  99,11, 13,  93,
+          524, 1, 33, 513,
+           27, 0,  0,   0,
+            0, 0,  0,   0,
+            0, 0,  0,   0,
+       0x0417, 0,  0,   0, 0 },
+        { 0x0004, 0x21e4, 0x0020 },
+        0
+    };
     /* change video mode */
-    pPriv->x68kreg = graphNone;
+    pPriv->x68kreg = (cons_dwidth == 640) ? graphNone_mode19 : graphNone_mode16;
     x68kRegSetup(pPriv);
 
     /* unmap and close frame buffer */
-    if ( munmap(__UNVOLATILE(pPriv->reg), pPriv->mapsize) == -1 )
+    if ( munmap(pPriv->reg, pPriv->mapsize) == -1 )
         Error("Can't unmap frame buffer");
     close(pPriv->fd);
 }
@@ -117,7 +132,7 @@ x68kFbCommonClose(X68kScreenRec *pPriv)
 static void
 x68kRegSetup(X68kScreenRec *pPriv)
 {
-    u_short pr20 = pPriv->reg->crtc.r20;
+    uint16_t pr20 = pPriv->reg->crtc.r20;
 
     /* timing registers */
     if ( (pr20 & 0x0003) < (pPriv->x68kreg.crtc.r20 & 0x0003) ||
@@ -160,7 +175,7 @@ x68kSaveScreen(ScreenPtr pScreen, Bool o
 {
     X68kScreenRec *pPriv = x68kGetScreenPrivate(pScreen);
     static int status = FALSE;
-    static u_short r2;
+    static uint16_t r2;
 
     if (on == SCREEN_SAVER_ON || on == SCREEN_SAVER_CYCLE) {
         if (!status) {
Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kGraph.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kGraph.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kGraph.c:1.4
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kGraph.c:1.3	Sat Aug  1 20:09:03 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kGraph.c	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kGraph.c,v 1.3 2020/08/01 20:09:03 tsutsui Exp $ */
+/* $NetBSD: x68kGraph.c,v 1.4 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -125,7 +125,7 @@ static int x68kListInstalledColormaps(Sc
 static void x68kStoreColors(ColormapPtr pmap, int ndef, xColorItem *pdefs);
 
 static void x68kUpdateColormap(ScreenPtr pScreen, int dex, int count,
-                               u_char *rmap, u_char *gmap, u_char *bmap);
+                               uint8_t *rmap, uint8_t *gmap, uint8_t *bmap);
 
 /*-------------------------------------------------------------------------
  * function "x68kGraphOpen"                          [ X68kFBProc function ]
@@ -147,7 +147,7 @@ x68kGraphOpen(X68kScreenRec *pPriv)
     if (pPriv->depth == 15 && pPriv->class == TrueColor) {
         /* for 32768 TrueColor mode */
 	int i;
-	u_short x = 0x0001;
+	uint16_t x = 0x0001;
 	for ( i = 0; i < 256; ) {
 	    pPriv->reg->gpal[i++] = x;
 	    pPriv->reg->gpal[i++] = x;
@@ -265,9 +265,9 @@ x68kCfbFinishScreenInit(
 
         ndepths = 1;
         nvisuals = 1;
-        depths = (DepthPtr)malloc( sizeof(DepthRec) );
-        visuals = (VisualPtr)malloc( sizeof(VisualRec) );
-        vid = (VisualID *)malloc( sizeof(VisualID) );
+        depths = malloc( sizeof(DepthRec) );
+        visuals = malloc( sizeof(VisualRec) );
+        vid = malloc( sizeof(VisualID) );
         if( !depths || !visuals || !vid ) {
             free( depths );
             free( visuals );
@@ -297,9 +297,9 @@ x68kCfbFinishScreenInit(
 
         ndepths = 1;
         nvisuals = 1;
-        depths = (DepthPtr)malloc( sizeof(DepthRec) );
-        visuals = (VisualPtr)malloc( sizeof(VisualRec) );
-        vid = (VisualID *)malloc( sizeof(VisualID) );
+        depths = malloc( sizeof(DepthRec) );
+        visuals = malloc( sizeof(VisualRec) );
+        vid = malloc( sizeof(VisualID) );
         if( !depths || !visuals || !vid ) {
             free( depths );
             free( visuals );
@@ -355,7 +355,7 @@ x68kInstallColormap(ColormapPtr cmap)
     register int i;
     register Entry *pent;
     register VisualPtr pVisual = cmap->pVisual;
-    u_char   rmap[256], gmap[256], bmap[256];
+    uint8_t   rmap[256], gmap[256], bmap[256];
     unsigned long rMask, gMask, bMask;
     int	oRed, oGreen, oBlue;
 
@@ -453,7 +453,7 @@ static void
 x68kStoreColors(ColormapPtr pmap, int ndef, xColorItem *pdefs)
 {
     X68kScreenRec *pPriv = x68kGetScreenPrivate(pmap->pScreen);
-    u_char     rmap[256], gmap[256], bmap[256];
+    uint8_t     rmap[256], gmap[256], bmap[256];
     xColorItem expanddefs[256];
     register int i;
 
@@ -480,20 +480,20 @@ x68kStoreColors(ColormapPtr pmap, int nd
  *  argument: (ScreenPtr)pScreen: screen
  *            (int)dex          : colormap index
  *            (int)count        : count for updating
- *            (u_char *)[rgb]map: each map
+ *            (uint8_t *)[rgb]map: each map
  *  returns:  nothing
  *-----------------------------------------------------------------------*/
 static void
 x68kUpdateColormap(ScreenPtr pScreen, int dex, int count,
-                               u_char *rmap, u_char *gmap, u_char *bmap)
+                               uint8_t *rmap, uint8_t *gmap, uint8_t *bmap)
 {
     X68kScreenRec *pPriv = x68kGetScreenPrivate(pScreen);
-    volatile u_short *pal = pPriv->reg->gpal;
+    volatile uint16_t *pal = pPriv->reg->gpal;
 
     for( ; count > 0; count--,dex++ ) {
-        pal[dex] = (u_short)gmap[dex] << 11 |
-                   (u_short)rmap[dex] << 6 |
-                   (u_short)bmap[dex] << 1;
+        pal[dex] = (uint16_t)gmap[dex] << 11 |
+                   (uint16_t)rmap[dex] << 6 |
+                   (uint16_t)bmap[dex] << 1;
     }
 }
 
Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kReg.h
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kReg.h:1.3 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kReg.h:1.4
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kReg.h:1.3	Sat Aug  1 20:09:03 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kReg.h	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kReg.h,v 1.3 2020/08/01 20:09:03 tsutsui Exp $ */
+/* $NetBSD: x68kReg.h,v 1.4 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -28,45 +28,45 @@
  * CRT controller
  */
 typedef struct {
-    u_short r00, r01, r02, r03, r04, r05, r06, r07;
-    u_short r08, r09, r10, r11, r12, r13, r14, r15;
-    u_short r16, r17, r18, r19, r20, r21, r22, r23;
-    char pad0[0x450];
-    u_short ctrl;
-    char pad1[0x1b7e];
+    volatile uint16_t r00, r01, r02, r03, r04, r05, r06, r07;
+    volatile uint16_t r08, r09, r10, r11, r12, r13, r14, r15;
+    volatile uint16_t r16, r17, r18, r19, r20, r21, r22, r23;
+    uint8_t pad0[0x450];
+    volatile uint16_t ctrl;
+    uint8_t pad1[0x1b7e];
 } Crtc;
 
 typedef struct {
-    u_short r00, r01, r02, r03, r04, r05, r06, r07;
-    u_short r08, r09, r10, r11, r12, r13, r14, r15;
-    u_short r16, r17, r18, r19, r20, r21, r22, r23;
-    u_short ctrl;
+    uint16_t r00, r01, r02, r03, r04, r05, r06, r07;
+    uint16_t r08, r09, r10, r11, r12, r13, r14, r15;
+    uint16_t r16, r17, r18, r19, r20, r21, r22, r23;
+    uint16_t ctrl;
 } X68kCrtc;
 
 /*
  * video controller
  */
 typedef struct {
-    u_short r0;
-    char pad0[0xfe];
-    u_short r1;
-    char pad1[0xfe];
-    u_short r2;
-    char pad2[0x19fe];
+    volatile uint16_t r0;
+    uint8_t pad0[0xfe];
+    volatile uint16_t r1;
+    uint8_t pad1[0xfe];
+    volatile uint16_t r2;
+    uint8_t pad2[0x19fe];
 } Videoc;
 
 typedef struct {
-    u_short r0;
-    u_short r1;
-    u_short r2;
+    uint16_t r0;
+    uint16_t r1;
+    uint16_t r2;
 } X68kVideoc;
 
 /* system port */
 typedef struct {
-    u_short r1, r2, r3, r4;
-    u_short pad0[2];
-    u_short r5, r6;
-    u_short pad[0x1ff0];
+    volatile uint16_t r1, r2, r3, r4;
+    uint16_t pad0[2];
+    volatile uint16_t r5, r6;
+    uint16_t pad[0x1ff0];
 } Sysport;
 
 /*
@@ -74,10 +74,10 @@ typedef struct {
  */
 typedef struct {
     Crtc crtc;
-    u_short gpal[256];    /* graphic palette */
-    u_short tpal[256];     /* text palette */
+    volatile uint16_t gpal[256];    /* graphic palette */
+    volatile uint16_t tpal[256];     /* text palette */
     Videoc videoc;
-    u_short pad0[0xa000];
+    uint16_t pad0[0xa000];
     Sysport sysport;
 } FbReg;
 
Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kText.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kText.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kText.c:1.4
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kText.c:1.3	Sat Aug  1 20:09:03 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kText.c	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kText.c,v 1.3 2020/08/01 20:09:03 tsutsui Exp $ */
+/* $NetBSD: x68kText.c,v 1.4 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -38,9 +38,9 @@
  *  returns:  (Bool): TRUE  if succeeded
  *                    FALSE otherwise
  *-----------------------------------------------------------------------*/
-static u_short r21;
-static u_short tpal0;
-static u_short tpal15;
+static uint16_t r21;
+static uint16_t tpal0;
+static uint16_t tpal15;
 
 Bool
 x68kTextOpen(X68kScreenRec *pPriv)

Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c:1.4 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c:1.5
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c:1.4	Sat Aug  1 20:09:03 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kInit.c	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kInit.c,v 1.4 2020/08/01 20:09:03 tsutsui Exp $ */
+/* $NetBSD: x68kInit.c,v 1.5 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -68,7 +68,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 *******************************************************/
 
-#include "Xos.h"
+#include <X11/Xos.h>
 #include "x68k.h"
 #include "mi.h"
 
@@ -76,9 +76,35 @@ EventList *x68kEvents = NULL;
 
 static int nscreens;
 
+/* default log file paths */
+#ifndef DEFAULT_LOGDIR
+#define DEFAULT_LOGDIR "/var/log"
+#endif
+#ifndef DEFAULT_LOGPREFIX
+#define DEFAULT_LOGPREFIX "X68K."
+#endif
+
 void
 OsVendorInit(void)
 {
+    static int inited;
+
+    if (!inited) {
+	const char *logfile;
+	char *lf;
+
+#define LOGSUFFIX ".log"
+#define LOGOLDSUFFIX ".old"
+	logfile = DEFAULT_LOGDIR "/" DEFAULT_LOGPREFIX;
+	if (asprintf(&lf, "%s%%s" LOGSUFFIX, logfile) == -1)
+	    FatalError("Cannot allocate space for the log file name\n");
+	LogInit(lf, LOGOLDSUFFIX);
+#undef LOGSUFFIX
+#undef LOGOLDSUFFIX
+	free(lf);
+
+	inited = 1;
+    }
 }
 
 /*-------------------------------------------------------------------------
@@ -173,6 +199,7 @@ AbortDDX(void)
         fb = x68kGetFbProcRec(i);
         (*fb->close)(screen);
     }
+    LogClose();
 }
 
 /*-------------------------------------------------------------------------
Index: xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c
diff -u xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c:1.4 xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c:1.5
--- xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c:1.4	Sat Aug  1 20:09:03 2020
+++ xsrc/external/mit/xorg-server.old/dist/hw/netbsd/x68k/x68kKbd.c	Thu Nov  5 16:06:08 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: x68kKbd.c,v 1.4 2020/08/01 20:09:03 tsutsui Exp $ */
+/* $NetBSD: x68kKbd.c,v 1.5 2020/11/05 16:06:08 tsutsui Exp $ */
 /*-------------------------------------------------------------------------
  * Copyright (c) 1996 Yasushi Yamasaki
  * All rights reserved.
@@ -91,7 +91,7 @@ static void x68kInitKbdNames(XkbRMLVOSet
 static void x68kKbdRingBell(DeviceIntPtr, int, int);
 static void x68kKbdBell(int, DeviceIntPtr, pointer, int);
 static void x68kKbdCtrl(DeviceIntPtr, KeybdCtrl *);
-static void x68kSetLeds(X68kKbdPrivPtr, u_char);
+static void x68kSetLeds(X68kKbdPrivPtr, uint8_t);
 
 /*------------------------------------------------------------------------
  * x68kKbdProc --
@@ -142,7 +142,7 @@ x68kKbdProc(DeviceIntPtr pDev,	/* Keyboa
                 Error("Async keyboard I/O failed");
                 return !Success;
             }
-	    x68kSetLeds(&x68kKbdPriv, (u_char)x68kKbdPriv.leds);
+	    x68kSetLeds(&x68kKbdPriv, (uint8_t)x68kKbdPriv.leds);
             (void) AddEnabledDevice(x68kKbdPriv.fd);
             pKeyboard->on = TRUE;
             break;
@@ -177,10 +177,8 @@ x68kInitModMap(KeySymsRec *KeySyms, CARD
         KeySyms->minKeyCode += MIN_KEYCODE;
         KeySyms->maxKeyCode += MIN_KEYCODE;
     }
-#if 0
     if (KeySyms->maxKeyCode > MAX_KEYCODE)
-        KeySyms->maxKeyCode += MAX_KEYCODE;
-#endif
+        KeySyms->maxKeyCode = MAX_KEYCODE;
     for (i = KeySyms->minKeyCode;
          i < KeySyms->maxKeyCode; i++) {
         switch (KeySyms->map[(i-KeySyms->minKeyCode)*4]) {
@@ -379,7 +377,7 @@ x68kKbdCtrl(DeviceIntPtr pDev, KeybdCtrl
     X68kKbdPrivPtr pPriv = (X68kKbdPrivPtr)pDev->public.devicePrivate;
 
     if (pPriv->leds != ctrl->leds) {
-        x68kSetLeds(pPriv, (u_char)ctrl->leds);
+        x68kSetLeds(pPriv, (uint8_t)ctrl->leds);
 	pPriv->leds = ctrl->leds;
     }
 }
@@ -389,11 +387,11 @@ x68kKbdCtrl(DeviceIntPtr pDev, KeybdCtrl
  *
  *  purpose:  set keyboard leds to specified state
  *  argument: (X68kKbdPrivPtr)pPriv
- *            (u_char)data;
+ *            (uint8_t)data;
  *  returns:  nothing
  *-----------------------------------------------------------------------*/
 static void
-x68kSetLeds(X68kKbdPrivPtr pPriv, u_char data)
+x68kSetLeds(X68kKbdPrivPtr pPriv, uint8_t data)
 {
     /* bit sequence of led indicator in xkb and hardware are same */
     if (ioctl(pPriv->fd, KIOCSLED, &data) == -1)

Reply via email to