1. 08 Oct, 2016 1 commit
    • Paul Burton's avatar
      console: don't prefer first registered if DT specifies stdout-path · 05fd007e
      Paul Burton authored
      If a device tree specifies a preferred device for kernel console output
      via the stdout-path or linux,stdout-path chosen node properties or the
      stdout alias then the kernel ought to honor it & output the kernel
      console to that device.  As it stands, this isn't the case.  Whilst we
      parse the stdout-path properties & set an of_stdout variable from
      of_alias_scan(), and use that from of_console_check() to determine
      whether to add a console device as a preferred console whilst
      registering it, we also prefer the first registered console if no other
      has been selected at the time of its registration.
      
      This means that if a console other than the one the device tree selects
      via stdout-path is registered first, we will switch to using it & when
      the stdout-path console is later registered the call to
      add_preferred_console() via of_console_check() is too late to do
      anything useful.  In practice this seems to mean that we switch to the
      dummy console device fairly early & see no further console output:
      
          Console: colour dummy device 80x25
          console [tty0] enabled
          bootconsole [ns16550a0] disabled
      
      Fix this by not automatically preferring the first registered console if
      one is specified by the device tree.  This allows consoles to be
      registered but not enabled, and once the driver for the console selected
      by stdout-path calls of_console_check() the driver will be added to the
      list of preferred consoles before any other console has been enabled.
      When that console is then registered via register_console() it will be
      enabled as expected.
      
      Link: http://lkml.kernel.org/r/20160809151937.26118-1-paul.burton@imgtec.com
      
      Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Paul Burton <paul.burton@imgtec.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Ivan Delalande <colona@arista.com>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Borislav Petkov <bp@suse.de>
      Cc: Jan Kara <jack@suse.com>
      Cc: Petr Mladek <pmladek@suse.com>
      Cc: Joe Perches <joe@perches.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Rob Herring <robh+dt@kernel.org>
      Cc: Frank Rowand <frowand.list@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      05fd007e
  2. 25 Jun, 2016 3 commits
    • Jiri Slaby's avatar
      tty: vt, remove consw->con_bmove · 52ad1f38
      Jiri Slaby authored
      It is never called since commit 81732c3b
      
       (tty vt: Fix line
      garbage in virtual console on command line edition) in 3.7. So remove
      all the callbacks.
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Thomas Winischhofer <thomas@winischhofer.net>
      Cc: linux-usb@vger.kernel.org
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: linux-fbdev@vger.kernel.org
      Cc: linux-parisc@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      52ad1f38
    • Jiri Slaby's avatar
      tty: vt, consw->con_set_palette cleanup · 709280da
      Jiri Slaby authored
      
      
      * allow NULL consw->con_set_palette (some consoles define an empty
        hook)
      * => remove empty hooks now
      * return value of consw->con_set_palette is never checked => make the
        function void
      * document consw->con_set_palette a bit
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Thomas Winischhofer <thomas@winischhofer.net>
      Cc: linux-usb@vger.kernel.org
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: linux-fbdev@vger.kernel.org
      Cc: linux-parisc@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      709280da
    • Jiri Slaby's avatar
      tty: vt, consw->con_scrolldelta cleanup · 97293de9
      Jiri Slaby authored
      
      
      * allow NULL consw->con_scrolldelta (some consoles define an empty
        hook)
      * => remove empty hooks now
      * return value of consw->con_scrolldelta is never checked => make the
        function void
      * document consw->con_scrolldelta a bit
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: Thomas Winischhofer <thomas@winischhofer.net>
      Cc: linux-usb@vger.kernel.org
      Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
      Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Cc: linux-fbdev@vger.kernel.org
      Cc: linux-parisc@vger.kernel.org
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      97293de9
  3. 30 Apr, 2016 1 commit
  4. 30 Mar, 2016 1 commit
  5. 16 Jan, 2016 1 commit
    • Tejun Heo's avatar
      printk: do cond_resched() between lines while outputting to consoles · 8d91f8b1
      Tejun Heo authored
      
      
      @console_may_schedule tracks whether console_sem was acquired through
      lock or trylock.  If the former, we're inside a sleepable context and
      console_conditional_schedule() performs cond_resched().  This allows
      console drivers which use console_lock for synchronization to yield
      while performing time-consuming operations such as scrolling.
      
      However, the actual console outputting is performed while holding
      irq-safe logbuf_lock, so console_unlock() clears @console_may_schedule
      before starting outputting lines.  Also, only a few drivers call
      console_conditional_schedule() to begin with.  This means that when a
      lot of lines need to be output by console_unlock(), for example on a
      console registration, the task doing console_unlock() may not yield for
      a long time on a non-preemptible kernel.
      
      If this happens with a slow console devices, for example a serial
      console, the outputting task may occupy the cpu for a very long time.
      Long enough to trigger softlockup and/or RCU stall warnings, which in
      turn pile more messages, sometimes enough to trigger the next cycle of
      warnings incapacitating the system.
      
      Fix it by making console_unlock() insert cond_resched() between lines if
      @console_may_schedule.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarCalvin Owens <calvinowens@fb.com>
      Acked-by: default avatarJan Kara <jack@suse.com>
      Cc: Dave Jones <davej@codemonkey.org.uk>
      Cc: Kyle McMartin <kyle@kernel.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8d91f8b1
  6. 26 Jun, 2015 1 commit
    • Tejun Heo's avatar
      printk: implement support for extended console drivers · 6fe29354
      Tejun Heo authored
      
      
      printk log_buf keeps various metadata for each message including its
      sequence number and timestamp.  The metadata is currently available only
      through /dev/kmsg and stripped out before passed onto console drivers.  We
      want this metadata to be available to console drivers too so that console
      consumers can get full information including the metadata and dictionary,
      which among other things can be used to detect whether messages got lost
      in transit.
      
      This patch implements support for extended console drivers.  Consoles can
      indicate that they want extended messages by setting the new CON_EXTENDED
      flag and they'll be fed messages formatted the same way as /dev/kmsg.
      
       "<level>,<sequnum>,<timestamp>,<contflag>;<message text>\n"
      
      If extended consoles exist, in-kernel fragment assembly is disabled.  This
      ensures that all messages emitted to consoles have full metadata including
      sequence number.  The contflag carries enough information to reassemble
      the fragments from the reader side trivially.  Note that this only affects
      /dev/kmsg.  Regular console and /proc/kmsg outputs are not affected by
      this change.
      
      * Extended message formatting for console drivers is enabled iff there
        are registered extended consoles.
      
      * Comment describing /dev/kmsg message format updated to add missing
        contflag field and help distinguishing variable from verbatim terms.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Kay Sievers <kay@vrfy.org>
      Reviewed-by: default avatarPetr Mladek <pmladek@suse.cz>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6fe29354
  7. 26 Mar, 2015 1 commit
    • Peter Hurley's avatar
      console: Add extensible console matching · c7cef0a8
      Peter Hurley authored
      
      
      Add match() method to struct console which allows the console to
      perform console command line matching instead of (or in addition to)
      default console matching (ie., by fixed name and index).
      
      The match() method returns 0 to indicate a successful match; normal
      console matching occurs if no match() method is defined or the
      match() method returns non-zero. The match() method is expected to set
      the console index if required.
      
      Re-implement earlycon-to-console-handoff with direct matching of
      "console=uart|uart8250,..." to the 8250 ttyS console.
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Signed-off-by: default avatarPeter Hurley <peter@hurleysoftware.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      c7cef0a8
  8. 20 May, 2013 2 commits
  9. 30 Apr, 2013 1 commit
  10. 08 Feb, 2013 2 commits
  11. 19 Jan, 2013 1 commit
    • Joe Millenbach's avatar
      tty: Added a CONFIG_TTY option to allow removal of TTY · 4f73bc4d
      Joe Millenbach authored
      
      
      The option allows you to remove TTY and compile without errors. This
      saves space on systems that won't support TTY interfaces anyway.
      bloat-o-meter output is below.
      
      The bulk of this patch consists of Kconfig changes adding "depends on
      TTY" to various serial devices and similar drivers that require the TTY
      layer.  Ideally, these dependencies would occur on a common intermediate
      symbol such as SERIO, but most drivers "select SERIO" rather than
      "depends on SERIO", and "select" does not respect dependencies.
      
      bloat-o-meter output comparing our previous minimal to new minimal by
      removing TTY.  The list is filtered to not show removed entries with awk
      '$3 != "-"' as the list was very long.
      
      add/remove: 0/226 grow/shrink: 2/14 up/down: 6/-35356 (-35350)
      function                                     old     new   delta
      chr_dev_init                                 166     170      +4
      allow_signal                                  80      82      +2
      static.__warned                              143     142      -1
      disallow_signal                               63      62      -1
      __set_special_pids                            95      94      -1
      unregister_console                           126     121      -5
      start_kernel                                 546     541      -5
      register_console                             593     588      -5
      copy_from_user                                45      40      -5
      sys_setsid                                   128     120      -8
      sys_vhangup                                   32      19     -13
      do_exit                                     1543    1526     -17
      bitmap_zero                                   60      40     -20
      arch_local_irq_save                          137     117     -20
      release_task                                 674     652     -22
      static.spin_unlock_irqrestore                308     260     -48
      Signed-off-by: default avatarJoe Millenbach <jmillenbach@gmail.com>
      Reviewed-by: default avatarJamey Sharp <jamey@minilop.net>
      Reviewed-by: default avatarJosh Triplett <josh@joshtriplett.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      4f73bc4d
  12. 12 Oct, 2012 1 commit
    • Arnd Bergmann's avatar
      tty/console: fix warnings in drivers/tty/serial/kgdboc.c · f2f0945e
      Arnd Bergmann authored
      
      
      The con_debug_leave/con_debug_enter functions are stubbed out
      by defining them to (0), which causes harmless build warnings.
      Using proper inline functions is the normal way to deal with
      this.
      
      Without this patch, building the ARM bcm2835_defconfig results in:
      
      drivers/tty/serial/kgdboc.c: In function 'kgdboc_pre_exp_handler':
      drivers/tty/serial/kgdboc.c:279:3: warning: statement with no effect [-Wunused-value]
      drivers/tty/serial/kgdboc.c: In function 'kgdboc_post_exp_handler':
      drivers/tty/serial/kgdboc.c:293:3: warning: statement with no effect [-Wunused-value]
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Cc: Anton Vorontsov <anton.vorontsov@linaro.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      f2f0945e
  13. 12 Jan, 2012 1 commit
  14. 26 Jan, 2011 1 commit
    • Torben Hohn's avatar
      console: rename acquire/release_console_sem() to console_lock/unlock() · ac751efa
      Torben Hohn authored
      
      
      The -rt patches change the console_semaphore to console_mutex.  As a
      result, a quite large chunk of the patches changes all
      acquire/release_console_sem() to acquire/release_console_mutex()
      
      This commit makes things use more neutral function names which dont make
      implications about the underlying lock.
      
      The only real change is the return value of console_trylock which is
      inverted from try_acquire_console_sem()
      
      This patch also paves the way to switching console_sem from a semaphore to
      a mutex.
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: make console_trylock return 1 on success, per Geert]
      Signed-off-by: default avatarTorben Hohn <torbenh@gmx.de>
      Cc: Thomas Gleixner <tglx@tglx.de>
      Cc: Greg KH <gregkh@suse.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ac751efa
  15. 17 Dec, 2010 1 commit
  16. 16 Nov, 2010 1 commit
  17. 06 Aug, 2010 1 commit
    • Jason Wessel's avatar
      console: Fix compilation regression · 9261ec1a
      Jason Wessel authored
      A regression of building without CONFIG_HW_CONSOLE was introduced with
      commit b45cfba4
      
       (vt,console,kdb:
      implement atomic console enter/leave functions).
      
      ERROR: "con_debug_enter" [drivers/serial/kgdboc.ko] undefined!
      ERROR: "vc_cons" [drivers/serial/kgdboc.ko] undefined!
      ERROR: "fg_console" [drivers/serial/kgdboc.ko] undefined!
      ERROR: "con_debug_leave" [drivers/serial/kgdboc.ko] undefined!
      
      When there is no HW console the con_debug_enter and con_debug_leave
      functions should have no code.
      Signed-off-by: default avatarJason Wessel <jason.wessel@windriver.com>
      CC: Jesse Barnes <jbarnes@virtuousgeek.org>
      Reported-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      9261ec1a
  18. 05 Aug, 2010 1 commit
  19. 24 Mar, 2009 1 commit
    • Kay Sievers's avatar
      vcs: hook sysfs devices into object lifetime instead of "binding" · 4995f8ef
      Kay Sievers authored
      
      
      During bootup performance tracing I noticed many occurrences of
      vca* device creation and removal, leading to the usual userspace
      uevent processing, which are, in this case, rather pointless.
      
      A simple test showing the kernel timing (not including all the
      work userspace has to do), gives us these numbers:
        $ time for i in `seq 1000`; do echo a > /dev/tty2; done
        real    0m1.142s
        user    0m0.015s
        sys     0m0.540s
      
      If we move the hook for the vcs* driver core devices from the
      tty "binding" to the vc allocation/deallocation, which is what
      the vcs* devices represent, we get the following numbers:
        $ time for i in `seq 1000`; do echo a > /dev/tty2; done
        real    0m0.152s
        user    0m0.030s
        sys     0m0.072s
      
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      4995f8ef
  20. 29 Dec, 2008 1 commit
    • Dave Airlie's avatar
      DRM: add mode setting support · f453ba04
      Dave Airlie authored
      
      
      Add mode setting support to the DRM layer.
      
      This is a fairly big chunk of work that allows DRM drivers to provide
      full output control and configuration capabilities to userspace.  It was
      motivated by several factors:
        - the fb layer's APIs aren't suited for anything but simple
          configurations
        - coordination between the fb layer, DRM layer, and various userspace
          drivers is poor to non-existent (radeonfb excepted)
        - user level mode setting drivers makes displaying panic & oops
          messages more difficult
        - suspend/resume of graphics state is possible in many more
          configurations with kernel level support
      
      This commit just adds the core DRM part of the mode setting APIs.
      Driver specific commits using these new structure and APIs will follow.
      
      Co-authors: Jesse Barnes <jbarnes@virtuousgeek.org>, Jakob Bornecrantz <jakob@tungstengraphics.com>
      Contributors: Alan Hourihane <alanh@tungstengraphics.com>, Maarten Maathuis <madman2003@gmail.com>
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: default avatarEric Anholt <eric@anholt.net>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      f453ba04
  21. 27 May, 2008 1 commit
    • Markus Armbruster's avatar
      xen: Enable console tty by default in domU if it's not a dummy · 9e124fe1
      Markus Armbruster authored
      Without console= arguments on the kernel command line, the first
      console to register becomes enabled and the preferred console (the one
      behind /dev/console).  This is normally tty (assuming
      CONFIG_VT_CONSOLE is enabled, which it commonly is).
      
      This is okay as long tty is a useful console.  But unless we have the
      PV framebuffer, and it is enabled for this domain, tty0 in domU is
      merely a dummy.  In that case, we want the preferred console to be the
      Xen console hvc0, and we want it without having to fiddle with the
      kernel command line.  Commit b8c2d3df
      
      
      did that for us.
      
      Since we now have the PV framebuffer, we want to enable and prefer tty
      again, but only when PVFB is enabled.  But even then we still want to
      enable the Xen console as well.
      
      Problem: when tty registers, we can't yet know whether the PVFB is
      enabled.  By the time we can know (xenstore is up), the console setup
      game is over.
      
      Solution: enable console tty by default, but keep hvc as the preferred
      console.  Change the preferred console to tty when PVFB probes
      successfully, unless we've been given console kernel parameters.
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      9e124fe1
  22. 30 Apr, 2008 1 commit
  23. 18 Oct, 2007 1 commit
    • Andres Salomon's avatar
      serial: turn serial console suspend a boot rather than compile time option · 8f4ce8c3
      Andres Salomon authored
      
      
      Currently, there's a CONFIG_DISABLE_CONSOLE_SUSPEND that allows one to stop
      the serial console from being suspended when the rest of the machine goes
      to sleep.  This is incredibly useful for debugging power management-related
      things; however, having it as a compile-time option has proved to be
      incredibly inconvenient for us (OLPC).  There are plenty of times that we
      want serial console to not suspend, but for the most part we'd like serial
      console to be suspended.
      
      This drops CONFIG_DISABLE_CONSOLE_SUSPEND, and replaces it with a kernel
      boot parameter (no_console_suspend).  By default, the serial console will
      be suspended along with the rest of the system; by passing
      'no_console_suspend' to the kernel during boot, serial console will remain
      alive during suspend.
      
      For now, this is pretty serial console specific; further fixes could be
      applied to make this work for things like netconsole.
      Signed-off-by: default avatarAndres Salomon <dilinger@debian.org>
      Acked-by: default avatar"Rafael J. Wysocki" <rjw@sisk.pl>
      Acked-by: default avatarPavel Machek <pavel@ucw.cz>
      Cc: Nigel Cunningham <nigel@suspend2.net>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8f4ce8c3
  24. 16 Oct, 2007 1 commit
    • Antonino A. Daplas's avatar
      vt/vgacon: Check if screen resize request comes from userspace · e400b6ec
      Antonino A. Daplas authored
      
      
      Various console drivers are able to resize the screen via the con_resize()
      hook.  This hook is also visible in userspace via the TIOCWINSZ, VT_RESIZE and
      VT_RESIZEX ioctl's.  One particular utility, SVGATextMode, expects that
      con_resize() of the VGA console will always return success even if the
      resulting screen is not compatible with the hardware.  However, this
      particular behavior of the VGA console, as reported in Kernel Bugzilla Bug
      7513, can cause undefined behavior if the user starts with a console size
      larger than 80x25.
      
      To work around this problem, add an extra parameter to con_resize().  This
      parameter is ignored by drivers except for vgacon.  If this parameter is
      non-zero, then the resize request came from a VT_RESIZE or VT_RESIZEX ioctl
      and vgacon will always return success.  If this parameter is zero, vgacon will
      return -EINVAL if the requested size is not compatible with the hardware.  The
      latter is the more correct behavior.
      
      With this change, SVGATextMode should still work correctly while in-kernel and
      stty resize calls can expect correct behavior from vgacon.
      Signed-off-by: default avatarAntonino Daplas <adaplas@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e400b6ec
  25. 16 Jul, 2007 2 commits
    • Robert P. J. Day's avatar
      Remove unnecessary includes of spinlock.h under include/linux · 0a3021f4
      Robert P. J. Day authored
      
      
      Remove the obviously unnecessary includes of <linux/spinlock.h> under the
      include/linux/ directory, and fix the couple errors that are introduced as
      a result of that.
      Signed-off-by: default avatarRobert P. J. Day <rpjday@mindspring.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a3021f4
    • Yinghai Lu's avatar
      serial: convert early_uart to earlycon for 8250 · 18a8bd94
      Yinghai Lu authored
      
      
      Beacuse SERIAL_PORT_DFNS is removed from include/asm-i386/serial.h and
      include/asm-x86_64/serial.h.  the serial8250_ports need to be probed late in
      serial initializing stage.  the console_init=>serial8250_console_init=>
      register_console=>serial8250_console_setup will return -ENDEV, and console
      ttyS0 can not be enabled at that time.  need to wait till uart_add_one_port in
      drivers/serial/serial_core.c to call register_console to get console ttyS0.
      that is too late.
      
      Make early_uart to use early_param, so uart console can be used earlier.  Make
      it to be bootconsole with CON_BOOT flag, so can use console handover feature.
      and it will switch to corresponding normal serial console automatically.
      
      new command line will be:
      	console=uart8250,io,0x3f8,9600n8
      	console=uart8250,mmio,0xff5e0000,115200n8
      or
      	earlycon=uart8250,io,0x3f8,9600n8
      	earlycon=uart8250,mmio,0xff5e0000,115200n8
      
      it will print in very early stage:
      	Early serial console at I/O port 0x3f8 (options '9600n8')
      	console [uart0] enabled
      later for console it will print:
      	console handover: boot [uart0] -> real [ttyS0]
      
      Signed-off-by: <yinghai.lu@sun.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Gerd Hoffmann <kraxel@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      18a8bd94
  26. 08 May, 2007 2 commits
  27. 11 Feb, 2007 1 commit
  28. 03 Oct, 2006 1 commit
  29. 26 Sep, 2006 1 commit
  30. 26 Jun, 2006 1 commit
    • Antonino A. Daplas's avatar
      [PATCH] VT binding: Add binding/unbinding support for the VT console · 3e795de7
      Antonino A. Daplas authored
      
      
      The framebuffer console is now able to dynamically bind and unbind from the VT
      console layer.  Due to the way the VT console layer works, the drivers
      themselves decide when to bind or unbind.  However, it was decided that
      binding must be controlled, not by the drivers themselves, but by the VT
      console layer.  With this, dynamic binding is possible for all VT console
      drivers, not just fbcon.
      
      Thus, the VT console layer will impose the following to all VT console
      drivers:
      
      - all registered VT console drivers will be entered in a private list
      - drivers can register themselves to the VT console layer, but they cannot
        decide when to bind or unbind. (Exception: To maintain backwards
        compatibility, take_over_console() will automatically bind the driver after
        registration.)
      - drivers can remove themselves from the list by unregistering from the VT
        console layer. A prerequisite for unregistration is that the driver must not
        be bound.
      
      The following functions are new in the vt.c:
      
      register_con_driver() - public function, this function adds the VT console
      driver to an internal list maintained by the VT console
      
      bind_con_driver() - private function, it binds the driver to the console
      
      take_over_console() is changed to call register_con_driver() followed by a
      bind_con_driver().  This is the only time drivers can decide when to bind to
      the VT layer.  This is to maintain backwards compatibility.
      
      unbind_con_driver() - private function, it unbinds the driver from its
      console.  The vacated consoles will be taken over by the default boot console
      driver.
      
      unregister_con_driver() - public function, removes the driver from the
      internal list maintained by the VT console.  It will only succeed if the
      driver is currently unbound.
      
      con_is_bound() checks if the driver is currently bound or not
      
      give_up_console() is just a wrapper to unregister_con_driver().
      
      There are also 3 additional functions meant to be called only by the tty layer
      for sysfs control:
      
      	vt_bind() - calls bind_con_driver()
      	vt_unbind() - calls unbind_con_driver()
      	vt_show_drivers() - shows the list of registered drivers
      
      Most VT console drivers will continue to work as is, but might have problems
      when unbinding or binding which should be fixable with minimal changes.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3e795de7
  31. 25 Jun, 2006 1 commit
    • Michael Ellerman's avatar
      [PATCH] Make printk work for really early debugging · 76a8ad29
      Michael Ellerman authored
      
      
      Currently printk is no use for early debugging because it refuses to
      actually print anything to the console unless
      cpu_online(smp_processor_id()) is true.
      
      The stated explanation is that console drivers may require per-cpu
      resources, or otherwise barf, because the system is not yet setup
      correctly.  Fair enough.
      
      However some console drivers might be quite happy running early during
      boot, in fact we have one, and so it'd be nice if printk understood that.
      
      So I added a flag (which I would have called CON_BOOT, but that's taken)
      called CON_ANYTIME, which indicates that a console is happy to be called
      anytime, even if the cpu is not yet online.
      
      Tested on a Power 5 machine, with both a CON_ANYTIME driver and a bogus
      console driver that BUG()s if called while offline.  No problems AFAICT.
      Built for i386 UP & SMP.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      76a8ad29
  32. 20 Jun, 2006 1 commit
  33. 16 Apr, 2005 1 commit
    • Linus Torvalds's avatar
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds authored
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4