History log of /freebsd/sys/dev/kbdmux/kbdmux.c (Results 51 – 75 of 90)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


1234