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 FreeBSD.org
Thu Nov 2 00:01:18 UTC 2006


marius      2006-11-02 00:01:15 UTC

  FreeBSD src repository

  Modified files:
    sys/conf             files.sparc64 options.sparc64 
    sys/dev/uart         uart_kbd_sun.c uart_kbd_sun.h 
    sys/sparc64/conf     NOTES 
  Log:
  - 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
    driver.
  - 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
    kbdmux(4). Unlike UKBD_EMULATE_ATSCANCODE, SUNKBD_EMULATE_ATKBD also
    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
    SUNKBD_EMULATE_ATKBD.
  - 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]
  Reviewed by:    marcel [1]
  
  Revision  Changes    Path
  1.83      +5 -0      src/sys/conf/files.sparc64
  1.14      +2 -0      src/sys/conf/options.sparc64
  1.10      +379 -85   src/sys/dev/uart/uart_kbd_sun.c
  1.3       +3 -0      src/sys/dev/uart/uart_kbd_sun.h
  1.30      +10 -0     src/sys/sparc64/conf/NOTES


More information about the cvs-all mailing list