summaryrefslogtreecommitdiffstats
path: root/sys/dev/kbdmux
Commit message (Collapse)AuthorAgeFilesLines
* Fix our ioctl(2) implementation when the argument is "int". Newru2006-09-271-0/+29
| | | | | | | | | | | | | ioctls passing integer arguments should use the _IOWINT() macro. This fixes a lot of ioctl's not working on sparc64, most notable being keyboard/syscons ioctls. Full ABI compatibility is provided, with the bonus of fixing the handling of old ioctls on sparc64. Reviewed by: bde (with contributions) Tested by: emax, marius MFC after: 1 week
* Revert back to always using *(int *)arg for now. While thisru2006-09-201-8/+8
| | | | | | | | | | is incorrect, and causes endianness bugs on 64-bit big-endian machines (sparc64), it's the best choice for now, as many of these IOCTLs are used inside the kernel, and bogusly pass an argument as "int *" which results in unaligned access panics on sparc64 when attempting to dereference them via *(intptr_t *). (Several of us are working on a real fix, which is uneasy.)
* Make typecast expressions comply with style(9).ru2006-09-191-5/+5
|
* This time, really fix endian bugs accessing ioctl arguments thatru2006-09-191-8/+8
| | | | | | | are passed by value. These are KDSKBMODE, KDSETLED, KDSKBSTATE, and KDSETRAD. Tested on: amd64, sparc64 (demo code)
* Back out revision 1.8. The only thing it did was to break LEDs (andru2006-09-191-13/+13
| | | | | | | | | some other less noticeable things) on little-endian 64-bit platforms such as amd64. PR: kern/101931 Discussed with: emax, marius MFC after: 1 day
* Add extra code into kbdmux(4)s read_char() method toemax2006-07-271-0/+21
| | | | | | | | | poll (i.e. call read_char() method) slave keyboards. This workaround should fix problem with kbdmux(4) and atkbd(4) not working in ddb(4) and mid-boot. MFC after: 1 week
* Fix endian bugs accessing ioctl arguments that are passed by value.emax2006-03-031-13/+13
| | | | | Pointed out by: marius MFC after: 1 day
* Provide ability to disable kbdmux(4) with the hint.kbdmux.0.disabled="1" hint.emax2006-03-011-0/+4
| | | | | | | Document hint in the kbdmux(4) man page. Requested by: scottl MFC after: 1 day
* Plug memory leakemax2006-02-271-0/+4
| | | | MFC after: 1 day
* Put a comment, explaining why kbdmux(4) had to be fixed.emax2006-02-251-3/+12
| | | | | | | While I'm here fix a couple of whitespaces. Requested by: netchild MFC after: 1 day
* Fix hard lockup caused by kbdmux(4) when kbdmux(4), PS/2 keyboardemax2006-02-251-1/+1
| | | | | | | | | | | | | | | | | | (atkbd(4)) and PS/2 mouse (psm(4)) are used together. Turns out that atkbd(4) check_char() method may return "true" while read_char() method returns NOKEY. When this happens kbdmux(4) was simply stuck in the dead loop. Avoid dead loop in kbdmux(4) by breaking out of the loop if read_char() method returns NOKEY. It almost seems like a bug in atkkbd(4), atkbd_check_char() calls kbdc_data_ready(), and, the later will return "true" if there are pending data in either kbd or aux queue. However, because both aux and kbd are on the same controller, I'm not sure if this is a bug or feature. Tested by: markus MFC after: 1 day
* Spotted a call to a cdev-related function not wrappedyar2005-10-181-0/+2
| | | | | | | in "#ifdef KBD_INSTALL_CDEV". Noticed by: glebius Uncovered by: recent change to modules' Makefiles
* kbdmux(4) keyboard multiplexer integrationemax2005-07-141-19/+24
| | | | | | | | | | | | | | | | | | | | o Slightly change KBADDKBD and KBRELKBD ioctl() interface. Instead of passing keyboard index pass keyboard_info_t structure with populated 'kb_unit' and 'kb_name' fields. Keyboard index is not very user-friendly and is not very easy to obtain. Keyboard driver name and unit, on the other hand, is much more user friendly and known almost all the time; o Move definition of keyboard_info_t structure up; o Teach kbdcontrol(1) how to attach/detach keyboards to/from the keyboard multiplexor; o Update kbdcontrol(1) man page and document new functionality. To attach/detach keyboard to/from keyboard multiplexor one needs to use keyboard device name (i.e. ukbd0). MFC after: 1 week
* kbdmux(4) keyboard multiplexer integrationemax2005-07-141-0/+1314
o Add sys/dev/kbdmux/kbdmux.c to the source tree o Add sys/modules/kbdmux/Makefile to the source tree These are not yet connected to the build. Man page and other changes to follow. MFC after: 1 week
OpenPOWER on IntegriCloud