1. 03 1月, 2009 1 次提交
    • J
      n_tty: Fix loss of echoed characters and remove bkl from n_tty · a88a69c9
      Joe Peterson 提交于
      Fixes the loss of echoed (and other ldisc-generated characters) when
      the tty is stopped or when the driver output buffer is full (happens
      frequently for input during continuous program output, such as ^C)
      and removes the Big Kernel Lock from the N_TTY line discipline.
      
      Adds an "echo buffer" to the N_TTY line discipline that handles all
      ldisc-generated output (including echoed characters).  Along with the
      loss of characters, this also fixes the associated loss of sync between
      tty output and the ldisc state when characters cannot be immediately
      written to the tty driver.
      
      The echo buffer stores (in addition to characters) state operations that need
      to be done at the time of character output (like management of the column
      position).  This allows echo to cooperate correctly with program output,
      since the ldisc state remains consistent with actual characters written.
      
      Since the echo buffer code now isolates the tty column state code
      to the process_out* and process_echoes functions, we can remove the
      Big Kernel Lock (BKL) and replace it with mutex locks.
      
      Highlights are:
      
      * Handles echo (and other ldisc output) when tty driver buffer is full
        - continuous program output can block echo
      * Saves echo when tty is in stopped state (e.g. ^S)
        - (e.g.: ^Q will correctly cause held characters to be released for output)
      * Control character pairs (e.g. "^C") are treated atomically and not
        split up by interleaved program output
      * Line discipline state is kept consistent with characters sent to
        the tty driver
      * Remove the big kernel lock (BKL) from N_TTY line discipline
      Signed-off-by: NJoe Peterson <joe@skyrush.com>
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a88a69c9
  2. 30 12月, 2008 1 次提交
  3. 29 12月, 2008 2 次提交
  4. 25 12月, 2008 1 次提交
    • H
      [S390] s390/hvc_console: z/VM IUCV hypervisor console support · 44a01d5b
      Hendrik Brueckner 提交于
      This patch introduces a new hypervisor console (HVC) back-end that provides
      terminal access over the z/VM inter-user communication vehicle (IUCV).
      
      The z/VM IUCV communication is independent of the regular tcp/ip network
      and allows access even if there is no network connection between two
      z/VM guest virtual machines.
      The z/VM IUCV hypervisor console back-end helps the user to access a
      z/VM guest virtual machine that lacks of network connectivity; and thus,
      provides a "full-screen" terminal alternative to 3215/3270 terminal sessions.
      
      Use the hvc_iucv=[0..8] kernel boot parameter to specify the number of
      HVC terminals using a z/VM IUCV back-end.
      
      A recent version of the s390-tools package is required to establish a
      terminal connection to a z/VM IUCV hypervisor console back-end.
      Signed-off-by: NHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      44a01d5b
  5. 21 12月, 2008 1 次提交
    • H
      hvc_console: Escape magic sysrq key · 368c1e32
      Hendrik Brueckner 提交于
      The ctrl-o (^O) is a common control key used by several applications,
      such as vim, but hvc_console uses ^O as the magic-sysrq key.  This
      commit allows users to send ^O to applications by pressing ^O twice
      in succession.
      
      To implement this, this commit introduces a check if ^O is pressed
      again if the sysrq_pressed variable is already set.  In this case,
      clear sysrq_pressed state and flip the ^O character to the tty.  (The
      old behavior has always set "sysrq_pressed" if ^O has been entered,
      and it has not flipped the ^O character to the tty.)
      Signed-off-by: NHendrik Brueckner <brueckner@linux.vnet.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      368c1e32
  6. 18 12月, 2008 1 次提交
  7. 14 12月, 2008 2 次提交
    • I
      console ASCII glyph 1:1 mapping · 1c55f187
      Ingo Brueckl 提交于
      For the console, there is a 1:1 mapping of glyphs which cannot be found
      in the current font.  This seems to be meant as a kind of 'emergency
      fallback' for fonts without unicode mapping which otherwise would
      display nothing readable on the screen.
      
      At the moment it affects all chars for which no substitution character
      is defined.  In particular this means that for all chars (>= 128) where
      there is no iso88591-1/unicode character (e.g.  control character area)
      you'll get the very strange 1:1 mapping of the (cp437) graphics card
      glyphs.
      
      I'm pretty sure that the 1:1 mapping should only affect strict ASCII
      code characters, i.e.  chars < 128.
      
      The patch limits the mapping as it probably was meant anyway.
      Signed-off-by: NIngo Brueckl <ib@wupperonline.de>
      Acked-by: NH. Peter Anvin <hpa@zytor.com>
      Cc: Egmont Koblinger <egmont@uhulinux.hu>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1c55f187
    • I
      unicode table for cp437 · f75bc06e
      Ingo Brueckl 提交于
      There is a major bug in the cp437 to unicode translation table.  Char
      0x7c is mapped to U+00a5 which is the Yen sign and wrong.  The right
      mapping is U+00a6 (broken bar).
      
      Furthermore, a mapping for U+00b4 (a widely used character) is missing
      even though easily possible.
      
      The patch fixes these, as well as it provides a few other useful
      mappings.
      
      The changes are as follows:
      
        0x0f (enhancement) enables a sort of currency symbol
        0x27 (bug) enables a sort of acute accent which is a widely used character
        0x44 (enhancement) enables a sort of icelandic capital letter eth
        0x7c (major bug) corrects mapping
        0xeb (enhancement) enables a sort of icelandic small letter eth
        0xee (enhancement) enables a sort of math 'element of'
      Signed-off-by: NIngo Brueckl <ib@wupperonline.de>
      Acked-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f75bc06e
  8. 13 12月, 2008 1 次提交
  9. 09 12月, 2008 1 次提交
    • A
      Audit: Log TIOCSTI · 1e641743
      Al Viro 提交于
      AUDIT_TTY records currently log all data read by processes marked for
      TTY input auditing, even if the data was "pushed back" using the TIOCSTI
      ioctl, not typed by the user.
      
      This patch records all TIOCSTI calls to disambiguate the input.  It
      generates one audit message per character pushed back; considering
      TIOCSTI is used very rarely, this simple solution is probably good
      enough.  (The only program I could find that uses TIOCSTI is mailx/nail
      in "header editing" mode, e.g. using the ~h escape.  mailx is used very
      rarely, and the escapes are used even rarer.)
      Signed-Off-By: NMiloslav Trmac <mitr@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NJames Morris <jmorris@namei.org>
      1e641743
  10. 08 12月, 2008 1 次提交
    • Y
      sparse irq_desc[] array: core kernel and x86 changes · 0b8f1efa
      Yinghai Lu 提交于
      Impact: new feature
      
      Problem on distro kernels: irq_desc[NR_IRQS] takes megabytes of RAM with
      NR_CPUS set to large values. The goal is to be able to scale up to much
      larger NR_IRQS value without impacting the (important) common case.
      
      To solve this, we generalize irq_desc[NR_IRQS] to an (optional) array of
      irq_desc pointers.
      
      When CONFIG_SPARSE_IRQ=y is used, we use kzalloc_node to get irq_desc,
      this also makes the IRQ descriptors NUMA-local (to the site that calls
      request_irq()).
      
      This gets rid of the irq_cfg[] static array on x86 as well: irq_cfg now
      uses desc->chip_data for x86 to store irq_cfg.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0b8f1efa
  11. 06 12月, 2008 1 次提交
  12. 03 12月, 2008 4 次提交
  13. 02 12月, 2008 1 次提交
  14. 01 12月, 2008 2 次提交
  15. 24 11月, 2008 1 次提交
  16. 19 11月, 2008 1 次提交
    • D
      powerpc: udbg-based backend for hvc_console · d5e54913
      David Gibson 提交于
      This adds a new backend for the hvc console based on the low-level
      udbg callbacks.  This effectively implements a working runtime console
      in terms of the simple udbg primitives.  This is kind of a hack -
      since udbg isn't something you really want to be using routinely - but
      it's really useful during bringup.
      
      This can be used to quickly implement a userspace-usable console while
      you're working on a proper driver for whatever console I/O device the
      hardware has.  Or, it can be used to avoid writing a full blown
      tty/console driver entirely for quick-and-dirty I/O hardware that will
      later be replaced by something else.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d5e54913
  17. 15 11月, 2008 2 次提交
  18. 14 11月, 2008 1 次提交
  19. 13 11月, 2008 1 次提交
  20. 12 11月, 2008 1 次提交
  21. 11 11月, 2008 2 次提交
  22. 07 11月, 2008 2 次提交
    • W
      vt: incomplete initialization of vc_tab_stop · a564738c
      Wolfgang Kroworsch 提交于
      Problem 1 (see patch below):
        vc_tab_stop is declared as an array of 8 unsigned ints in struct
        vc_data in include/linux/console_struct.h .
        In drivers/char/vt.c only 5 of these 8 unsigned ints get initialized
        leading to unintended tabulator placement on displays with more than
        160 columns text.
      
      Problem 2 (open):
        Upcoming displays will have more than 256 columns of text leading to
        invalid memory access in drivers/char/vt.c during tabulator
        calculations:
          if (vc->vc_tab_stop[vc->vc_x >> 5] & (1 << (vc->vc_x & 31)))
      	break;
      Signed-off-by: NWolfgang Kroworsch <wolfgang@kroworsch.de>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Christoph Hellwig <hch@lst.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a564738c
    • B
      ACPI: remove CONFIG_ACPI_EC · 8950d89a
      Bjorn Helgaas 提交于
      Remove CONFIG_ACPI_EC.  It was always set the same as CONFIG_ACPI,
      and it had no menu label, so there was no way to set it to anything
      other than "y".
      
      Per section 6.5.4 of the ACPI 3.0b specification,
      
          OSPM must make Embedded Controller operation regions, accessed
          via the Embedded Controllers described in ECDT, available before
          executing any control method.
      
      The ECDT table is optional, but if it is present, the above text
      means that the EC it describes is a required part of the ACPI
      subsystem, so CONFIG_ACPI_EC=n wouldn't make sense.
      Signed-off-by: NBjorn Helgaas <bjorn.helgaas@hp.com>
      Acked-by: NAlexey Starikovskiy <astarikovskiy@suse.de>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      8950d89a
  23. 04 11月, 2008 1 次提交
  24. 02 11月, 2008 1 次提交
    • A
      saner FASYNC handling on file close · 233e70f4
      Al Viro 提交于
      As it is, all instances of ->release() for files that have ->fasync()
      need to remember to evict file from fasync lists; forgetting that
      creates a hole and we actually have a bunch that *does* forget.
      
      So let's keep our lives simple - let __fput() check FASYNC in
      file->f_flags and call ->fasync() there if it's been set.  And lose that
      crap in ->release() instances - leaving it there is still valid, but we
      don't have to bother anymore.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      233e70f4
  25. 31 10月, 2008 1 次提交
  26. 30 10月, 2008 2 次提交
  27. 27 10月, 2008 2 次提交
  28. 24 10月, 2008 1 次提交
  29. 22 10月, 2008 1 次提交