Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[xsrc/netbsd-9]: xsrc/external/mit/xorg-server/dist/hw/sun Pull up following ...



details:   https://anonhg.NetBSD.org/xsrc/rev/05973589eb73
branches:  netbsd-9
changeset: 10546:05973589eb73
user:      martin <martin%NetBSD.org@localhost>
date:      Thu Aug 27 08:53:19 2020 +0000

description:
Pull up following revision(s) (requested by tsutsui in ticket #1061):

        external/mit/xorg-server/dist/hw/sun/sunCfb.c: revision 1.6
        external/mit/xorg-server/dist/hw/sun/sunCursor.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.3
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.4
        external/mit/xorg-server/dist/hw/sun/sunFbs.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunCfb24.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.5
        external/mit/xorg-server/dist/hw/sun/sunFbs.c: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sunMouse.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.6
        external/mit/xorg-server/dist/hw/sun/sunGX.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunFbs.c: revision 1.3
        external/mit/xorg-server/dist/hw/sun/kbd_mode.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunMouse.c: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.7
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.8
        external/mit/xorg-server/dist/hw/sun/sunIo.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunInit.c: revision 1.9
        external/mit/xorg-server/dist/hw/sun/sunGX.h: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunIo.c: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sun.h: revision 1.1
        external/mit/xorg-server/dist/hw/sun/Xsun.man: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunIo.c: revision 1.3
        external/mit/xorg-server/dist/hw/sun/sun.h: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sunKeyMap.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunIo.c: revision 1.4
        external/mit/xorg-server/dist/hw/sun/sun.h: revision 1.3
        external/mit/xorg-server/dist/hw/sun/constype.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunMultiDepth.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunKeyMap.c: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sunIo.c: revision 1.5
        external/mit/xorg-server/dist/hw/sun/sun.h: revision 1.4
        external/mit/xorg-server/dist/hw/sun/sunMfb.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunKeyMap.c: revision 1.3
        external/mit/xorg-server/dist/hw/sun/sun.h: revision 1.5
        external/mit/xorg-server/dist/hw/sun/README: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sun.h: revision 1.6
        external/mit/xorg-server/dist/hw/sun/sun.h: revision 1.7
        external/mit/xorg-server/dist/hw/sun/kbd_mode.man: revision 1.1
        external/mit/xorg-server/dist/hw/sun/circleset.h: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunKbd.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunKbd.c: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sunKbd.c: revision 1.3
        external/mit/xorg-server/dist/hw/sun/sunKbd.c: revision 1.4
        external/mit/xorg-server/dist/hw/sun/sunKbd.c: revision 1.5
        external/mit/xorg-server/dist/hw/sun/sunKbd.c: revision 1.6
        external/mit/xorg-server/dist/hw/sun/sunKbd.c: revision 1.7
        external/mit/xorg-server/dist/hw/sun/constype.man: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunCfb.c: revision 1.1
        external/mit/xorg-server/dist/hw/sun/sunCfb.c: revision 1.2
        external/mit/xorg-server/dist/hw/sun/sunCfb.c: revision 1.3
        external/mit/xorg-server/dist/hw/sun/sunCfb.c: revision 1.4
        external/mit/xorg-server/dist/hw/sun/sunCfb.c: revision 1.5

Import WIP Xorg-Server-1.20'fied monolithic Xsun servers.
This is based on 1.10 version imported into xorg-server.old and
all upstream API changes between xorg-server 1.10 and 1.20 are
applied almost mechanically.
 https://github.com/tsutsui/xorg-server-Xsun/commits/xorg-server-1.20

Xsun and XsunMono servers are also confirmed working with bwtwo on
3/60 and tme, and cgtwo on tme. XKB stuff is still to be resolved.

Use proper ANSI offsetof(3) to specify framebuffer offset in struct.
Fixes build error on sparc64.  No binary change on sun3.

Apply upstream "free the EQ allocated memory on shutdown" fixes.

This should be updated before 1.20 import:
 https://cgit.freedesktop.org/xorg/xserver/commit/?id=87d4f90bfcb509471ac9e7886e14a92b33223fd7

Use proper args for dixLookupResourceByType() to get defcolormap.
Botched in mechanical 1.20 updates.

Add prototype declarations for CG2 functions.

Implement functions to restore palette settings on exiting Xserver.

Explicitly initialize origColormapValid for readability.

Fix LED defintions to match xkb/xkbInit.c.

Now CapsLock and NumLock LEDs work correctly.
XXX: No ScrollLock LED

Remove unused functions required to handle non-XKB autorepeat.

Initialize ModMap dynamically using keymap data per each keyboard.
Now ScrollLock LED works properly.

Remove now unused ModMap data for each keyboard.

Use "empty" for rmlvo model and layout to avoid lingering default settings.
Now all modifier keys (CTRL, SHIFT, and NumLock) work as expected.

It seems XkbApplyMappingChange() doesn't update some XKB modifier
settings even if new modmap data is specified.

Trailing whitespace.

Call LogInit() for logging to /var/log/Xsun.%s.log as 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.

Remove more redundant command option arg checks.

Avoid dumb DevicePtr casts.

diffstat:

 external/mit/xorg-server/dist/hw/sun/README          |   118 +
 external/mit/xorg-server/dist/hw/sun/Xsun.man        |   176 +
 external/mit/xorg-server/dist/hw/sun/circleset.h     |   136 +
 external/mit/xorg-server/dist/hw/sun/constype.c      |   198 +
 external/mit/xorg-server/dist/hw/sun/constype.man    |    58 +
 external/mit/xorg-server/dist/hw/sun/kbd_mode.c      |   154 +
 external/mit/xorg-server/dist/hw/sun/kbd_mode.man    |    53 +
 external/mit/xorg-server/dist/hw/sun/sun.h           |   436 +
 external/mit/xorg-server/dist/hw/sun/sunCfb.c        |   587 +
 external/mit/xorg-server/dist/hw/sun/sunCfb24.c      |   142 +
 external/mit/xorg-server/dist/hw/sun/sunCursor.c     |   326 +
 external/mit/xorg-server/dist/hw/sun/sunFbs.c        |   239 +
 external/mit/xorg-server/dist/hw/sun/sunGX.c         |  2829 +++++++++
 external/mit/xorg-server/dist/hw/sun/sunGX.h         |   238 +
 external/mit/xorg-server/dist/hw/sun/sunInit.c       |   854 ++
 external/mit/xorg-server/dist/hw/sun/sunIo.c         |   258 +
 external/mit/xorg-server/dist/hw/sun/sunKbd.c        |   910 +++
 external/mit/xorg-server/dist/hw/sun/sunKeyMap.c     |  5438 ++++++++++++++++++
 external/mit/xorg-server/dist/hw/sun/sunMfb.c        |   112 +
 external/mit/xorg-server/dist/hw/sun/sunMouse.c      |   387 +
 external/mit/xorg-server/dist/hw/sun/sunMultiDepth.c |   243 +
 21 files changed, 13892 insertions(+), 0 deletions(-)

diffs (truncated from 13976 to 300 lines):

diff -r 41ec77dd6446 -r 05973589eb73 external/mit/xorg-server/dist/hw/sun/README
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/mit/xorg-server/dist/hw/sun/README       Thu Aug 27 08:53:19 2020 +0000
@@ -0,0 +1,118 @@
+A joint production of:
+
+       Adam de Boor            University of California,  Berkeley
+
+       David Rosenthal
+       Stuart Marks
+       Robin Schaufler
+       Mike Schwartz
+       Frances Ho
+       Geoff Lee
+       Mark Opperman           Sun Microsystems
+
+       Bob Scheifler           MIT Laboratory for Computer Science
+       Keith Packard
+
+This version of the Sun X11 drivers uses ../mi,  ../mfb and ../cfb to support
+the following configurations:
+
+       Sun/2           bw2     cg2/3/5
+       Sun/3           bw2     cg2/3/4/5
+       Sun/4           bw2     cg2/4
+       SPARCstation            cg3/6
+       Sun/386i        mono    color
+
+The following configurations are NOT supported:
+
+       Sun/1           bw1     cg1     (requires separate port)
+       Sun/2                   gp      (use /dev/cgtwo0)
+       Sun/3                   gp      (use /dev/cgtwo0)
+       Sun/4                   gp      (use /dev/cgtwo0)
+
+The mfb and cfb code has been substantially tuned for 1- and 8-bit framebuffers
+(with code for both fast and slow cpu-to-memory ratios).  It installs and runs
+on these configurations under SunOS 3.2, 3.4, and 4.0.  However, we must stress
+that it is completely unsupported, and if you have problems installing or using
+it you are on your own.
+
+
+Things to check before building:
+
+1)     config/sun.cf - set the SunOSMajorVersion and SunOSMinorVersion 
+       parameters to the right values.
+
+2)     config/Project.tmpl - check LIBDIR, FONTDIR, etc.; set 
+       define LibDir, FontDir, etc. in site.def as required.
+
+
+
+Then build the system by:
+
+1)     Go for it.  In the top-level directory, type
+
+       make World
+
+       This takes about forty minutes on a 4/260, and somewhat longer
+       on other Suns.
+
+
+2)     Go for it.  In the top-level directory, type
+
+       make install
+
+       Otherwise, you'll want to create a bunch of symbolic links to
+       the various executables and data files scattered throughout
+       the hierarchy.
+
+
+
+3)     On the console, or from an rlogin connection, put whatever you
+       chose for BINDIR (in Imake.tmpl) in your search path, and then
+       start the server:
+
+           xinit
+       or
+           xinit -- -dev /dev/??? [see below]
+
+       If it's from the console,  you probably want to redirect the
+       output thus:
+
+           xinit >& /tmp/x11.out
+
+4)     xinit should start up an xterm window that acts as a console.  When
+       this xterm terminates, the xinit will kill the server.  You can also
+       start up client programs from a terminal or rlogin, but you must
+       first set the DISPLAY environment variable:
+
+           setenv DISPLAY unix:0
+           xterm &
+
+
+5)     Make sure that you have special devices in /dev for the appropriate 
+       framebuffer.  See the manual page for Xsun for details or run the
+       constype program. VME systems require special .o files when more
+        than one of a particular frame buffer type is installed.
+
+
+6)     In general,  Xsun auto-configures to use all the available framebuffers
+       (see the Xsun manual page).  In some circumstances, you may need to 
+       use the -dev switch on the command line to specify a specific device
+       to use.  In particular, on the GP, GP+, and GP2, you'll need to
+       specify -dev /dev/cgtwo0 your xdm Xservers file or your xinit script.
+
+
+7)     To shut the server down,  send it a Hangup or Terminate signal.
+
+
+8)     If X crashes, it will leave the keyboard in a funny state.  There is a
+       program called "kbd_mode" that will reset the mode of the keyboard.
+       "kbd_mode -a" is the appropriate setting for the bare console, and
+       "kbd_mode -e" is the appropriate setting for running with SunWindows.
+       You may have to issue this command from a terminal or from an rlogin
+       connection.  If you run from the bare console, you can give the
+       command
+
+       xinit ; kbd_mode -a
+
+       so that the keyboard mode will ALWAYS be set properly when the server
+       terminates.
diff -r 41ec77dd6446 -r 05973589eb73 external/mit/xorg-server/dist/hw/sun/Xsun.man
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/external/mit/xorg-server/dist/hw/sun/Xsun.man     Thu Aug 27 08:53:19 2020 +0000
@@ -0,0 +1,176 @@
+.\" $Xorg: Xsun.man,v 1.4 2001/02/09 02:04:43 xorgcvs Exp $
+.\" Copyright 1988 Sun Microsystems, Inc.
+.\" Copyright 1993, 1994, 1998  The Open Group
+.\" 
+.\" Permission to use, copy, modify, distribute, and sell this software and its
+.\" documentation for any purpose is hereby granted without fee, provided that
+.\" the above copyright notice appear in all copies and that both that
+.\" copyright notice and this permission notice appear in supporting
+.\" documentation.
+.\" 
+.\" The above copyright notice and this permission notice shall be included
+.\" in all copies or substantial portions of the Software.
+.\" 
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+.\" IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
+.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+.\" OTHER DEALINGS IN THE SOFTWARE.
+.\" 
+.\" Except as contained in this notice, the name of The Open Group shall
+.\" not be used in advertising or otherwise to promote the sale, use or
+.\" other dealings in this Software without prior written authorization
+.\" from The Open Group.
+.\"
+.\" $XFree86: xc/programs/Xserver/hw/sun/Xsun.man,v 1.9 2005/02/11 03:03:10 dawes Exp $
+.\"
+.TH XSUN 1 __vendorversion__
+.SH NAME
+Xsun, XsunMono, Xsun24 \- Sun server for X Version 11
+.SH SYNOPSIS
+.B Xsun
+[ option ] ...
+.SH DESCRIPTION
+.I Xsun
+is the server for Version 11 of the X window system on Sun hardware.
+It will normally be started by the \fIxdm(1)\fP daemon or by a script
+that runs the program \fIxinit(1)\fP.
+.SH CONFIGURATIONS
+.PP
+.I XsunMono
+supports the BW2 monochrome frame buffer.
+.I Xsun
+supports the CG2, CG3, CG4, and CG6 8-bit color frame buffers in
+addition to the BW2 monochrome frame buffer. On Solaris 2.5 it also
+supports the TCX as an 8-bit color frame buffer.
+.I Xsun24
+supports the cgeight 24-bit color frame buffer in addition to the
+8-bit color and monochrome frame buffers that
+.I Xsun
+supports.
+.PP
+If specific framebuffer device files aren't specified on the command 
+line with the \fI\-dev\fP switch or in the \fIXDEVICE\fP environment
+variable, the server will search for all installed frame buffers and 
+will use all those that it finds.
+.PP
+Finally, if no specific framebuffers are found, the generic framebuffer 
+interface \fI/dev/fb\fP is used.
+.PP
+.SH KEYBOARDS
+.PP
+Xsun, Xsun24, and XsunMono support the Type-2, Type-3, and many variations 
+of the Type-4 and Type-5 keyboards.
+.PP
+Type-4 and Type-5 keyboards feature a key labeled \fIAltGraph\fP which 
+is a mode-shift key. The mode-shift key is used to generate the symbols 
+painted on the fronts of the keys. The mode-shift key works exactly like 
+the \fIShift\fP, \fIControl\fP, \fIAlt\fP, and \fI<Meta>\fP keys.
+.PP
+The ten function keys on the left side of the Type-5 keyboard may be 
+considered as having L1..L10 painted on their fronts.  Shift-AltGraph 
+will cause different keysyms to be generated for some keys, e.g. the 
+Type-5 \fISysRq\fP key.
+.PP
+For compatibility with Sun's X11/NeWS server, the F11 and F12 keys may 
+be made to generate the equivalent X11/NeWS keysyms by using mode-switch.
+.PP
+For backwards compatibility, the normal and mode-shifted keysyms for 
+the ten function keys on the left side of Type-4 and Type-5 keyboards 
+may be swapped via command line option. See \fI-swapLkeys\fP.
+.PP
+The X LEDs 1..4 correspond to the NumLock, ScrollLock, Compose, and
+CapsLock LEDs respectively. Pressing the key once turns the corresponding
+LED on. Pressing the key again turns the LED off. Turning an LED on or 
+off with e.g. 'xset [-]led [1234]' is equivalent to pressing the 
+corresponding key.
+.SH OPTIONS
+.PP
+In addition to the normal server options described in the \fIXserver(1)\fP
+manual page, \fIXsun\fP accepts the following command line switches:
+.TP 8
+.B "\-ar1 \fImilliseconds\fP"
+This option specifies amount of time in milliseconds before which a 
+pressed key should begin to autorepeat.
+.TP 8
+.B "\-ar2 \fImilliseconds\fP"
+This option specifies the interval in milliseconds between autorepeats 
+of pressed keys.
+.TP 8
+.B \-swapLkeys
+Swaps the normal keysyms for the function keys on the left side of 
+Type-4 and Type-5 keyboards with the alternate keysyms, i.e. the keysyms 
+painted on the front of the keys.
+.TP 8
+.B \-flipPixels
+The normal pixel values for white and black are 0 and 1 respectively. 
+When -flipPixels is specified these values are reversed.
+.TP 8
+.B \-mono
+When used with the \fBcgtwo\fP, this option indicates that the server 
+should emulate a monochrome framebuffer instead of the normal color 
+framebuffer.  When used with the \fBcgfour\fP, this option indicates 
+that the monochrome screen should be numbered 0 and the color screen 
+numbered 1 (instead of the other way around).
+.TP 8
+.B \-zaphod
+This option disables switching between screens by sliding the mouse off 
+the left or right edges.  With this disabled, a window manager function 
+must be used to switch between screens.
+.TP 8
+.B \-debug
+This option indicates that the server is being run from a debugger, and 
+that it should \fBnot\fP put its standard input, output and error files 
+into non-blocking mode.
+.TP 8
+.B "\-dev \fIfilename[:filename]...\fP"
+This option specifies the colon separated names of the framebuffer device 
+files to be used.
+.TP 8
+.B "\-fbinfo
+This option indicates that the server should enumerate the available
+frame buffers that it will use.
+.SH ENVIRONMENT
+.TP 8
+\fBXDEVICE\fP
+If present,  and if no explicit \fB-dev\fP options are given, specifies 
+the (colon separated) list of display devices to use.
+.SH "SEE ALSO"
+.PP
+X(__miscmansuffix__), Xserver(1), xdm(1), xinit(1)
+.SH BUGS
+The auto-configuration depends on there being appropriate special files 
+in the
+.I /dev
+directory for the framebuffers which are to be used.  Extra entries can 
+confuse the server.  For example,  the X/160C in fact has the hardware 
+for a monochrome
+.B bwtwo0
+on the CPU board.  So if 
+.I /dev
+has a special file for
+.IR /dev/bwtwo0 ,
+the server will use it,  even though there is no monitor attached to the
+monochrome framebuffer.
+The server will appear to start,  but not to paint a cursor,  because the
+cursor is on the monochrome frame buffer. The solution is to remove the
+.I /dev
+entries for any device you don't have a monitor for.
+.PP
+There is a bug in pre-FCS operating systems for the Sun-4 which causes 
+the server to crash driving a \fBcgtwo\fP.
+.PP
+.SH AUTHORS
+.TP 8
+U. C. Berkeley
+Adam de Boor.
+.TP 8
+Sun Microsystems
+David Rosenthal,  Stuart Marks,  Robin Schaufler,  Mike Schwartz,
+Frances Ho,  Geoff Lee,  and Mark Opperman.
+.TP 8
+MIT Laboratory for Computer Science



Home | Main Index | Thread Index | Old Index