Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Nov 2006 00:01:15 +0000 (UTC)
From:      Marius Strobl <marius@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   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
Message-ID:  <200611020001.kA201Foq080239@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611020001.kA201Foq080239>