History log of /xsrc/external/mit/xorg-server/dist/hw/sun/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
a3cee91a 24-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Register XFree86 DDX specific "XFree86_VT" Atom to appease xinit(1).

381f08b9 24-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Make sure to initialize default XKB rules earlier for Core Keyboard.

f8338865 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Make sure the keyboard device is actually enabled in DDXRingBell().

Also use consistent variable names for readability.

2eda485b 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

No need to check if the device is enabled in event handler functions.

These event handlers are activated by SetNotifyFd() only after
DXX deviceProc() functions are called with DEVICE_ON from
DIX EnableDevice() function.

685bea66 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Remove unused variables.

8931864a 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Add a static function declaration in sunMouse.c.

7ec0c9b9 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Add and sort static function declarations in sunKbd.c.

e83940e6 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Allocate keyboard and mouse event buffers in the device private structures.

Also simplify GetEvents functions.

Tested on Sun 3/60 with bwtwo.

c38b1532 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Replace old FNDELAY for fcntl(2) with O_NONBLOCK defined in POSIX.

32b6075a 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Also Refactor sunKbdPrivRec in sunKbd.c to make it private.

Now the keyboard device is opened and sunKbdPrivRec is dynamically
allocated within the DEVICE_INIT phase of sunKbdProc().
DEVICE_OFF and DEVICE_CLOSE operations are also adjusted accordingly.

Tested on Sun 3/60.

2da8aa69 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Refactor sunPtrPrivRec in sunMouse.c to make it really private.

The mouse device is now opened and sunPtrPrivRec is allocated
within the DEVICE_INIT phase of sunMouseProc(). DEVICE_OFF and
DEVICE_CLOSE operations are also adjusted accordingly.

Tested on Sun 3/60.

48c4760e 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Reduce global references to sunPtrPriv, as sunKbd.c does.

177290df 21-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Refactor Xsun input device handling to remove SIGIO based event processing.

The keyboard and pointer input events are now processed directly
using fd event notifications registered via DIX SetNotifyFd(),
instead of the legacy SIGIO-based asynchronous I/O.

This refactoring improves the maintainability and portability of
the code by aligning with modern Xorg server practices.

Tested on Sun 3/60 with bwtwo, Type-4 keyboard and mouse.

d8389a6e 17-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Initialize DDX pointer valuators consistently with other drivers/servers.

This may not be strictly necessary, since InitValuatorAxisStruct()
for all axes is also called from the DIX InitPointerDeviceStruct()
via InitValuatorClassDeviceStruct() with default values.

However, for future X.Org updates, it is beneficial to keep the
DIX-DDX interface implementation in MouseProc's DEVICE_INIT operation
consistent with the official xf86-input-mouse driver, xquartz DDX server,
and others.

1406604b 17-Jun-2025 tsutsui <tsutsui@NetBSD.org>

Properly apply DIX locking to input events in NetBSD-specific DDX servers.

This thread-based DIX locking approach using input_lock() and
input_unlock() has been available since X.Org 1.19.0:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/30ac7567980a1eb79d084a63e0e74e1d9a3af673

All xfree86 DDX implementations have switched to using these new
DIX locks instead of the old OsBlockSIGIO() / OsReleaseSIGIO() methods:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/6a5a4e60373c1386b311b2a8bb666c32d68a9d99

The xquartz DDX (an official X.Org server implementation) also uses
these locks for input events:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/7d6ebf3f4e4d517bb846d15a5deb131da19a267c

This should resolve occasional SIGSEGVs in the Xsun server caused
by NULL pointer dereferences around the event queue handlers
under heavy load.

Should be pulled up to netbsd-10.

357cbbce 16-Jul-2022 tsutsui <tsutsui@NetBSD.org>

Merge AbortDDX() into ddxGiveUp() as other upstream DDX servers.

https://gitlab.freedesktop.org/xorg/xserver/-/commit/a23eba2a91024d27da45e5aee1f4215f7ec2ae82
> These are so close to identical that most DDXes implement one in terms
> of the other. All the relevant cases can be distinguished by the error
> code, so merge the functions together to make things simpler.

6b007147 15-Jul-2022 mrg <mrg@NetBSD.org>

couple of changes needed for xorg-server 21.1.4.

- AbortDDX() is removed, make it static to avoid code churn since
it is used by internal code now
- LegalModifier() is gone
- if the PRESENT extension isn't included, don't enable the
-fakescreenfps option since it require PRESENT.

fixes builds for sun3 and x68k.

5ab83d5b 15-Oct-2021 tsutsui <tsutsui@NetBSD.org>

Handle restoring keyboard state via AbortDevices() rather than AbortDDX().

Tested on 3/60. Note AbortDevices() and DEVICE_ABORT in deviceProc
functions were introduced after Xorg 1.14.0:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/9f79e93b6b3416055d08a0e8f9f16d5fd0649e36

2aa2a51f 17-Mar-2021 tsutsui <tsutsui@NetBSD.org>

Fixes "FatalError re-entered, aborting" error when Xservers get SIGSEGV.

Handle a new DEVICE_ABORT mode perperly in deviceProc funtions.
Also don't exit via FatalError() on an unknown mode because it looks
upstream assumes DDX deviceProc functions don't treat it fatal:
https://gitlab.freedesktop.org/xorg/xserver/-/commit/9f79e93b6b3416055d08a0e8f9f16d5fd0649e36

8e6ade5b 11-Mar-2021 tsutsui <tsutsui@NetBSD.org>

Avoid polluting console on non-fatal errors.

9c576acf 11-Mar-2021 tsutsui <tsutsui@NetBSD.org>

ErrorF() doesn't append newlines at the end of messages.

09f8ca91 08-Dec-2020 mrg <mrg@NetBSD.org>

add dummy ddxInputThreadInit() if INPUTTHREAD is defined.
fixes sun3 build and should fix x68k build too.

19d1127d 21-Nov-2020 tsutsui <tsutsui@NetBSD.org>

valuator_mask_zero() is enough for mouse button events.

9679a91b 13-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Avoid dumb DevicePtr casts.

aa86acb5 11-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Remove more redundant command option arg checks.

a401fbd7 09-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Put probed framebuffer info to a log file by default.

c46e3e8e 09-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Remove redundant command option arg checks.

99d8145c 09-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Remove a leftover variable for non-XKB autorepeat.

64ca0c98 09-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Inform detected keyboard type and layout via LogMessage().

1f29ee3a 04-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Call LogInit() for logging to /var/log/Xsun.%s.log as Xorg server.

0ea8fa60 01-Aug-2020 tsutsui <tsutsui@NetBSD.org>

Trailing whitespace.

eec3c82f 01-Aug-2020 tsutsui <tsutsui@NetBSD.org>

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.

83a24582 30-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Remove now unused ModMap data for each keyboard.

b6209069 30-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Initialize ModMap dynamically using keymap data per each keyboard.

Now ScrollLock LED works properly.

a740dc46 29-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Remove unused functions required to handle non-XKB autorepeat.

2f5704f8 29-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Fix LED defintions to match xkb/xkbInit.c.

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

1a0e0615 26-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Explicitly initialize origColormapValid for readability.

97c02368 26-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Implement functions to restore palette settings on exiting Xserver.

89cbd610 26-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Add prototype declarations for CG2 functions.

9cee2e5c 24-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Use proper args for dixLookupResourceByType() to get defcolormap.

Botched in mechanical 1.20 updates.

183a9b73 24-Jul-2020 tsutsui <tsutsui@NetBSD.org>

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

526cfe04 23-Jul-2020 tsutsui <tsutsui@NetBSD.org>

Use proper ANSI offsetof(3) to specify framebuffer offset in struct.

Fixes build error on sparc64. No binary change on sun3.

ee7c6486 22-Jul-2020 tsutsui <tsutsui@NetBSD.org>

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.