cvs commit: src/sys/conf files.sparc64 options.sparc64 src/sys/dev/uart uart_kbd_sun.c uart_kbd_sun.h src/sys/sparc64/conf NOTES

Marius Strobl marius at
Sun Sep 30 12:33:20 PDT 2007

marius      2007-09-30 19:33:19 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/conf             files.sparc64 options.sparc64 
    sys/dev/uart         uart_kbd_sun.c uart_kbd_sun.h 
    sys/sparc64/conf     NOTES 
  MFC: sys/conf/files.sparc64 1.83; sys/conf/options.sparc64 1.24;
       sys/dev/uart/uart_kbd_sun.c 1.10, 1.11 (partial), 1.13;
       sys/dev/uart/uart_kbd_sun.h 1.3; sys/sparc64/conf/NOTES 1.30
  - In sunkbd_probe_keyboard() don't bother to determine the keyboard layout
    as we have no use for that info. Instead let this function return the
    keyboard ID and verify at its invocation in sunkbd_configure() that we're
    talking to a Sun type 4/5/6 keyboard, i.e. a keyboard supported by this
  - Add an option SUNKBD_EMULATE_ATKBD whose code is based on the respective
    code in ukbd(4) and like UKBD_EMULATE_ATSCANCODE causes this driver to
    emit AT keyboard/KB_101 compatible scan codes in K_RAW mode as assumed by
    triggers the use of AT keyboard maps and thus allows to use the map files
    in share/syscons/keymaps with this driver at the cost of an additional
    translation (in ukbd(4) this just is the way of operation).
  - Implement an option SUNKBD_DFLT_KEYMAP, which like the equivalent options
    of the other keyboard drivers allows to specify the default in-kernel
    keyboard map. For obvious reasons this made to only work when also using
  - Implement sunkbd_check(), sunkbd_check_char() and sunkbd_clear_state(),
    which are also required for interoperability with kbdmux(4).
  - Implement K_CODE mode and FreeBSD keypad compose.
  - As a minor hack define KBD_DFLT_KEYMAP also in the !SUNKBD_EMULATE_ATKBD
    case so we can obtain fkey_tab from <dev/kbd/kbdtables.h> rather than
    having to duplicate it and #ifdef some more code.
  - Don't use the TX-buffer for writing the two command bytes for setting the
    keyboard LEDs as this consequently requires a hardware FIFO that is at
    least two bytes in depth, which the NMOS-variant of the Zilog SCCs doesn't
    have. Thus use an inlined version of uart_putc() to consecutively write
    the command bytes (a cleaner approach would be to do this via the soft
    interrupt handler but that variant wouldn't work while in ddb(4)). [1]
  - Fix some minor style(9) bugs.
  PR:             90316 [1]
  Revision  Changes    Path  +5 -0      src/sys/conf/files.sparc64  +2 -0      src/sys/conf/options.sparc64   +382 -86   src/sys/dev/uart/uart_kbd_sun.c   +3 -0      src/sys/dev/uart/uart_kbd_sun.h  +10 -0     src/sys/sparc64/conf/NOTES

More information about the cvs-src mailing list