Revision tags: release/6.2.0_cvs, release/6.2.0 |
|
#
9fddcc66 |
| 27-Sep-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Fix our ioctl(2) implementation when the argument is "int". New ioctls passing integer arguments should use the _IOWINT() macro. This fixes a lot of ioctl's not working on sparc64, most notable bein
Fix our ioctl(2) implementation when the argument is "int". New 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
show more ...
|
#
8ad58ac6 |
| 20-Sep-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Revert back to always using *(int *)arg for now. While this 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 ar
Revert back to always using *(int *)arg for now. While this 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.)
show more ...
|
#
9e24e7f6 |
| 19-Sep-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Make typecast expressions comply with style(9).
|
#
9cd96497 |
| 19-Sep-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
This time, really fix endian bugs accessing ioctl arguments that are passed by value. These are KDSKBMODE, KDSETLED, KDSKBSTATE, and KDSETRAD.
Tested on: amd64, sparc64 (demo code)
|
#
225fcb26 |
| 19-Sep-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Back out revision 1.8. The only thing it did was to break LEDs (and some other less noticeable things) on little-endian 64-bit platforms such as amd64.
PR: kern/101931 Discussed with: emax, marius
Back out revision 1.8. The only thing it did was to break LEDs (and 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
show more ...
|
#
04c1ba9b |
| 27-Jul-2006 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Add extra code into kbdmux(4)s read_char() method to 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
Add extra code into kbdmux(4)s read_char() method to 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
show more ...
|
Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0 |
|
#
af0618e9 |
| 03-Mar-2006 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Fix endian bugs accessing ioctl arguments that are passed by value.
Pointed out by: marius MFC after: 1 day
|
#
b569776d |
| 01-Mar-2006 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Provide ability to disable kbdmux(4) with the hint.kbdmux.0.disabled="1" hint. Document hint in the kbdmux(4) man page.
Requested by: scottl MFC after: 1 day
|
#
40a3c5ea |
| 27-Feb-2006 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Plug memory leak
MFC after: 1 day
|
#
65b70c1d |
| 25-Feb-2006 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Put a comment, explaining why kbdmux(4) had to be fixed. While I'm here fix a couple of whitespaces.
Requested by: netchild MFC after: 1 day
|
#
fd4df699 |
| 25-Feb-2006 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Fix hard lockup caused by kbdmux(4) when kbdmux(4), PS/2 keyboard (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(
Fix hard lockup caused by kbdmux(4) when kbdmux(4), PS/2 keyboard (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
show more ...
|
Revision tags: release/6.0.0_cvs, release/6.0.0 |
|
#
34231269 |
| 18-Oct-2005 |
Yaroslav Tykhiy <ytykhiy@gmail.com> |
Spotted a call to a cdev-related function not wrapped in "#ifdef KBD_INSTALL_CDEV".
Noticed by: glebius Uncovered by: recent change to modules' Makefiles
|
#
4673ea01 |
| 15-Jul-2005 |
Maksim Yevmenkin <emax@FreeBSD.org> |
kbdmux(4) keyboard multiplexer integration
o Slightly change KBADDKBD and KBRELKBD ioctl() interface. Instead of passing keyboard index pass keyboard_info_t structure with populated 'kb_unit' and
kbdmux(4) keyboard multiplexer integration
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
show more ...
|
#
dfa49439 |
| 14-Jul-2005 |
Maksim Yevmenkin <emax@FreeBSD.org> |
kbdmux(4) keyboard multiplexer integration
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
kbdmux(4) keyboard multiplexer integration
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
show more ...
|
#
7e857dd1 |
| 12-Jun-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|
#
41763573 |
| 08-Jun-2009 |
Ed Schouten <ed@FreeBSD.org> |
Use proper types in kbdmux_kbd_getc():
- The return value should be a signed integer, because -1 means failure. - The c variable should be unsigned, to force it to be zero-extended when returned.
Use proper types in kbdmux_kbd_getc():
- The return value should be a signed integer, because -1 means failure. - The c variable should be unsigned, to force it to be zero-extended when returned.
Reported by: Andreas Tobler <andreast-list fgznet ch>
show more ...
|
#
5f46eda1 |
| 05-Jun-2009 |
Ed Schouten <ed@FreeBSD.org> |
Move buffer management into kbd and kbdmux drivers.
These two drivers seem to be the last consumers of clists. clists are quite overengineered for simple circular buffers, so I'm adding similar buff
Move buffer management into kbd and kbdmux drivers.
These two drivers seem to be the last consumers of clists. clists are quite overengineered for simple circular buffers, so I'm adding similar buffer management routines to the kbd and kbdmux drivers. The input buffer is now part of the softc structures, instead of having dynamically allocated cblocks.
show more ...
|
Revision tags: release/7.2.0_cvs, release/7.2.0 |
|
#
9c797940 |
| 13-Apr-2009 |
Oleksandr Tymoshenko <gonzo@FreeBSD.org> |
- Merge from HEAD
|
#
ed382753 |
| 08-Apr-2009 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Undo SVN rev 183283
Do not use Giant for kbdmux(4) locking. This is wrong and apparently causing more problems than it solves. This will re-open the issue where interrupt handlers may race with kbdm
Undo SVN rev 183283
Do not use Giant for kbdmux(4) locking. This is wrong and apparently causing more problems than it solves. This will re-open the issue where interrupt handlers may race with kbdmux(4) in polling mode. Typical symptoms include (but not limited to) duplicated and/or missing characters when low level console functions (such as gets) are used while interrupts are enabled (for example geli password prompt, mountroot prompt etc.)
MFC after: 3 days
show more ...
|
#
1829d5da |
| 12-Mar-2009 |
Warner Losh <imp@FreeBSD.org> |
Update the projects tree to a newer FreeBSD current.
|
#
fd66bfec |
| 14-Feb-2009 |
Andrew Thompson <thompsa@FreeBSD.org> |
Since r188030 the error value for attach is returned, this means if kbdmux fails to attach (possibly due to disable hints) then we get called back for unload. Correctly handle the case where the keyb
Since r188030 the error value for attach is returned, this means if kbdmux fails to attach (possibly due to disable hints) then we get called back for unload. Correctly handle the case where the keyboard isnt found rather than calling panic.
show more ...
|
#
8de7d508 |
| 02-Feb-2009 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Properly retun error core from kbdmux_modevent()
Reported by: Christoph Mallon < christoph -dot- mallon -at- gmx -dot- de > MFC after: 1 week
|
Revision tags: release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0 |
|
#
352d011b |
| 23-Sep-2008 |
Maksim Yevmenkin <emax@FreeBSD.org> |
Use Giant for kbdmux(4) locking. This is to workaround the problem where interrupt handlers may race with kbdmux(4) in polling mode.
PR: kern/127446 Reported by: Eygene Ryabinkin rea-fbsd at codela
Use Giant for kbdmux(4) locking. This is to workaround the problem where interrupt handlers may race with kbdmux(4) in polling mode.
PR: kern/127446 Reported by: Eygene Ryabinkin rea-fbsd at codelabs dot ru Tested by: Eygene Ryabinkin rea-fbsd at codelabs dot ru MFC after: 1 week
show more ...
|
#
75ec4232 |
| 24-Jul-2008 |
Ed Schouten <ed@FreeBSD.org> |
Don't include <sys/tty.h> in non-TTY drivers.
The kbd, kbdmux, ugen and uhid drivers included <sys/tty.h>, because they needed clists, which have been moved to <sys/clist.h> some time ago. In the MP
Don't include <sys/tty.h> in non-TTY drivers.
The kbd, kbdmux, ugen and uhid drivers included <sys/tty.h>, because they needed clists, which have been moved to <sys/clist.h> some time ago. In the MPSAFE TTY branch, <sys/tty.h> does not include <sys/clist.h>, which means we have to teach these drivers to include this header file directly.
Approved by: philip (mentor, implicit)
show more ...
|
Revision tags: release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0 |
|
#
259699b2 |
| 29-Dec-2007 |
Wojciech A. Koszek <wkoszek@FreeBSD.org> |
Remove explicit calls to keyboard methods with their respective variants implemented with macros. This patch improves code readability. Reasoning behind kbdd_* is a "keyboard discipline".
List of ma
Remove explicit calls to keyboard methods with their respective variants implemented with macros. This patch improves code readability. Reasoning behind kbdd_* is a "keyboard discipline".
List of macros is supposed to be complete--all methods of keyboard_switch should have their respective macros from now on.
Functionally, this code should be no-op. My intention is to leave current behaviour of code as is.
Glanced at by: rwatson Reviewed by: emax, marcel Approved by: cognet
show more ...
|