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
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 
  Log:
  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
    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]
  
  Revision  Changes    Path
  1.73.2.4  +5 -0      src/sys/conf/files.sparc64
  1.13.2.1  +2 -0      src/sys/conf/options.sparc64
  1.5.2.4   +382 -86   src/sys/dev/uart/uart_kbd_sun.c
  1.2.2.1   +3 -0      src/sys/dev/uart/uart_kbd_sun.h
  1.19.2.3  +10 -0     src/sys/sparc64/conf/NOTES


More information about the cvs-src mailing list