Module Name: xsrc Committed By: tsutsui Date: Sun Aug 9 16:01:19 UTC 2020
Modified Files: xsrc/external/mit/xorg-server.old/dist/hw/sun: sun.h sunCfb.c sunInit.c sunIo.c Log Message: Cherry-pick to sync with xorg-server: Inform detected keyboard type and layout via LogMessage(). Remove a leftover variable for non-XKB autorepeat. Remove redundant command option arg checks. Put probed framebuffer info to a log file by default. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c cvs rdiff -u -r1.3 -r1.4 \ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.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/sun/sun.h diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h:1.2 Sat Aug 1 13:40:55 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sun.h Sun Aug 9 16:01:19 2020 @@ -295,10 +295,11 @@ typedef struct { /* sunInit.c */ extern EventList *sunEvents; -extern Bool sunAutoRepeatHandlersInstalled; extern sunFbDataRec sunFbData[]; extern fbFd sunFbs[]; extern Bool sunSwapLkeys; +extern Bool sunForceMono; +extern Bool sunDebug; extern Bool sunFlipPixels; extern Bool sunFbInfo; extern Bool sunCG4Frob; Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c:1.2 Sat Aug 1 13:40:55 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunCfb.c Sun Aug 9 16:01:19 2020 @@ -98,7 +98,7 @@ static void CGSaveColormap(ScreenPtr); static void CGRestoreColormap(ScreenPtr); static void CGScreenInitCommon(ScreenPtr); static void CGScreenInit(ScreenPtr); -static void checkMono(int, char **); +static void checkMono(void); #ifdef INCLUDE_CG2_HEADER static void CG2UpdateColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); static void CG2GetColormap(ScreenPtr, int, int, u_char *, u_char *, u_char *); @@ -307,13 +307,11 @@ CGScreenInit(ScreenPtr pScreen) } static void -checkMono(int argc, char** argv) +checkMono(void) { - int i; - for (i = 1; i < argc; i++) - if (strcmp (argv[i], "-mono") == 0) - ErrorF ("-mono not appropriate for CG3/CG4/CG6\n"); + if (sunForceMono) + ErrorF("-mono not appropriate for CG3/CG4/CG6\n"); } /* @@ -334,7 +332,7 @@ sunCG3Init( char **argv /* The arguments themselves. Don't change! */ ) { - checkMono (argc, argv); + checkMono(); sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; return sunInitCommon (screen, pScreen, (off_t) CG3_MMAP_OFFSET, sunCfbScreenInit, CGScreenInit, @@ -349,7 +347,7 @@ sunTCXInit( char **argv /* The arguments themselves. Don't change! */ ) { - checkMono (argc, argv); + checkMono(); sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; return sunInitCommon (screen, pScreen, (off_t) 0, sunCfbScreenInit, CGScreenInit, @@ -454,18 +452,12 @@ sunCG2Init( char** argv /* The arguments themselves. Don't change! */ ) { - int i; Bool ret; - Bool mono = FALSE; - - for (i = 1; i < argc; i++) - if (strcmp (argv[i], "-mono") == 0) - mono = TRUE; sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; pScreen->SaveScreen = CG2SaveScreen; #ifndef LOWMEMFTPT - if (mono) { + if (sunForceMono) { pScreen->whitePixel = 0; pScreen->blackPixel = 1; sunFbs[screen].info.fb_depth = 1; @@ -514,7 +506,7 @@ sunCG4Init( char** argv /* The arguments themselves. Don't change! */ ) { - checkMono (argc, argv); + checkMono(); if (sunCG4Frob) sunFbs[screen].EnterLeave = (void (*)(ScreenPtr, int))NoopDDA; else @@ -539,7 +531,7 @@ sunCG6Init( { pointer fb; - checkMono (argc, argv); + checkMono(); if (!sunScreenAllocate (pScreen)) return FALSE; if (!sunFbs[screen].fb) { Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.2 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.3 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c:1.2 Tue Aug 4 14:34:35 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunIo.c Sun Aug 9 16:01:19 2020 @@ -205,6 +205,7 @@ ddxProcessArgument(int argc, char *argv[ return 1; } if (strcmp (argv[i], "-debug") == 0) { /* -debug */ + sunDebug = TRUE; return 1; } if (strcmp (argv[i], "-dev") == 0) { /* -dev /dev/mumble */ @@ -212,6 +213,7 @@ ddxProcessArgument(int argc, char *argv[ return 2; } if (strcmp (argv[i], "-mono") == 0) { /* -mono */ + sunForceMono = TRUE; return 1; } if (strcmp (argv[i], "-zaphod") == 0) { /* -zaphod */ Index: xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c diff -u xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.3 xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.4 --- xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c:1.3 Tue Aug 4 14:34:35 2020 +++ xsrc/external/mit/xorg-server.old/dist/hw/sun/sunInit.c Sun Aug 9 16:01:19 2020 @@ -130,8 +130,9 @@ static Bool sunDevsInited = FALSE; EventList *sunEvents = NULL; -Bool sunAutoRepeatHandlersInstalled; /* FALSE each time InitOutput called */ Bool sunSwapLkeys = FALSE; +Bool sunDebug = FALSE; +Bool sunForceMono = FALSE; Bool sunFlipPixels = FALSE; Bool sunFbInfo = FALSE; Bool sunCG4Frob = FALSE; @@ -307,6 +308,11 @@ OpenFrameBuffer( } } if (ret) { + int verb = 1; + + if (sunFbInfo) + verb = -1; + devFbUsed = TRUE; if (fbattr) { if (fbattr->fbtype.fb_type >= XFBTYPE_LASTPLUSONE) { @@ -325,16 +331,14 @@ OpenFrameBuffer( if (sunFbData[fbattr->emu_types[_i]].init) { sunFbs[screen].info.fb_type = fbattr->emu_types[_i]; ret = TRUE; - if (sunFbInfo) - ErrorF ("%s is emulating a %s\n", device, - sunFbData[fbattr->fbtype.fb_type].name); + LogMessageVerb(X_INFO, verb, "%s is emulating a %s\n", + device, sunFbData[fbattr->fbtype.fb_type].name); break; } } } - if (sunFbInfo) - ErrorF ("%s is really a %s\n", device, - sunFbData[fbattr ? fbattr->fbtype.fb_type : sunFbs[screen].info.fb_type].name); + LogMessageVerb(X_INFO, verb, "%s is really a %s\n", device, + sunFbData[fbattr ? fbattr->fbtype.fb_type : sunFbs[screen].info.fb_type].name); } } if (!ret) @@ -527,7 +531,13 @@ OsVendorInit(void) if (sunPtrPriv.fd < 0) FatalError ("Cannot open /dev/mouse, error %d\n", errno); getKbdType (); - if (sunKbdPriv.type == KB_SUN4) { + switch (sunKbdPriv.type) { + case KB_SUN2: + case KB_SUN3: + LogMessage(X_INFO, "Sun type %d Keyboard\n", sunKbdPriv.type); + break; + case KB_SUN4: +#define LAYOUT_US5 33 (void) ioctl (sunKbdPriv.fd, KIOCLAYOUT, &sunKbdPriv.layout); if (sunKbdPriv.layout < 0 || sunKbdPriv.layout > sunMaxLayout || @@ -535,6 +545,12 @@ OsVendorInit(void) FatalError ("Unsupported keyboard type 4 layout %d\n", sunKbdPriv.layout); sunKeySyms[KB_SUN4].map = sunType4KeyMaps[sunKbdPriv.layout]; + LogMessage(X_INFO, "Sun type %d Keyboard, layout %d\n", + sunKbdPriv.layout >= LAYOUT_US5 ? 5 : 4, sunKbdPriv.layout); + break; + default: + LogMessage(X_INFO, "Unknown keyboard type\n"); + break; } inited = 1; } @@ -572,10 +588,8 @@ InitOutput(ScreenInfo *pScreenInfo, int monitorResolution = 90; if (RunFromSigStopParent) nonBlockConsole = 1; - for (i = 1; i < argc; i++) { - if (!strcmp(argv[i],"-debug")) - nonBlockConsole = 0; - } + if (sunDebug) + nonBlockConsole = 0; /* * Writes to /dev/console can block - causing an