1. 14 6月, 2012 1 次提交
  2. 04 5月, 2011 1 次提交
  3. 31 3月, 2011 1 次提交
  4. 23 1月, 2011 1 次提交
  5. 21 5月, 2010 1 次提交
    • J
      echi-dbgp: Add kernel debugger support for the usb debug port · 4fe1da4e
      Jason Wessel 提交于
      This patch adds the capability to use the usb debug port with the
      kernel debugger.  It is also still possible to use this functionality
      with or without the earlyprintk=dbgpX.  It is possible to use the
      kgdbwait boot argument to debug very early in the kernel start up code.
      
      There are two ways to use this driver extension with a kernel boot argument.
      
      1) kgdbdbgp=#   -- Where # is the number of the usb debug controller
      
         You must use sysrq-g to break into the kernel debugger on another
         connection type other than the dbgp.
      
      2) kgdbdbgp=#debugControlNum#,#Seconds#
      
         In this mode, the usb debug port is polled every #Seconds# for
         character input.  It is possible to use gdb or press control-c to
         break into the kernel debugger.
      
      From the implementation perspective there are 3 high level changes.
      
      1) Allow variable retries for the the hardware via dbgp_bulk_read().
      
         The amount of retries for the dbgp_bulk_read() needed to be
         variable instead of fixed.  We do not want to poll at all when the
         kernel is operating in interrupt driven mode.  The polling only
         occurs if the kernel was booted when specifying some number of
         seconds via the kgdbdbgp boot argument (IE kgdbdbgp=0,1).  In this
         case the loop count is reduced to 1 so as introduce the smallest
         amount of latency as possible.
      
      2) Save the bulk IN endpoint address for use by the kgdb code.
      
      3) The addition of the kgdb interface code.
      
         This consisted of adding in a character read function for the dbgp
         as well as a polling thread to allow the dbgp to interrupt the
         kernel execution.  The rest is the typical kgdb I/O api.
      
      CC: Eric Biederman <ebiederm@xmission.com>
      CC: Yinghai Lu <yhlu.kernel@gmail.com>
      CC: linux-usb@vger.kernel.org
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@suse.de>
      4fe1da4e
  6. 03 3月, 2010 1 次提交
    • J
      USB: ehci-dbgp: split PID register updates for IN and OUT pipes · 815e173e
      Jason Wessel 提交于
      This patch addresses two problems:
      
      1) Bulk reads should always use the DATA0 for the pid, and the write
         PID should toggle between DATA0 and DATA1.  The fix is using
         dbgp_pid_write_update() and dbgp_pid_read_update().
      
      2) The delay loop for waiting for a transaction was not long enough to
         always complete the initial handshake inside dbgp_wait_until_done().
         After the initial handshake the maximum delay length is never reached.
      
      The combined result of these two changes allows for the removal of the
      forced resynchronization where a bulk write was issued with a dummy
      data payload only to get the device to start accepting data writes
      again.
      
      CC: Eric Biederman <ebiederm@xmission.com>
      CC: Yinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      815e173e
  7. 24 12月, 2009 1 次提交
  8. 23 9月, 2009 8 次提交
    • J
      USB: ehci-dbgp: errata for EHCI debug/host controller synchronization · 68d2956a
      Jason Wessel 提交于
      On some EHCI debug controllers after the host controller driver is
      activated, the debug controller will occasionally fail to submit a
      bulk write URB.  On controllers that exhibit this behavior a dummy
      bulk write must get submitted to resynchronize the device.
      
      The "dummy bulk write" does not get received by the host attached to
      the other end of the usb debug device.  The usb debug device simply
      acknowledges the "dummy bulk write" and returns to a usable state.
      
      The behavior, without this patch is that you see missing text from a
      complete kernel boot when using the keep option to the earlyprintk
      kernel argument.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      68d2956a
    • J
      USB: ehci-dbgp: errata for EHCI debug controller initialization · aab2d408
      Jason Wessel 提交于
      On some EHCI usb debug controllers, the EHCI debug device will fail to
      be seen after a port reset, after a warm reset.  Two options exist to
      get the device to initialize correctly.
      
      Option 1 is to unplug and plug in the device.
      
      Option 2 is to use the EHCI port test to get the usb debug device to
      start talking again.  At that point the debug controller port reset
      will succeed.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      CC: dbrownell@users.sourceforge.net
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      aab2d408
    • J
      USB: ehci-dbgp,ehci: Allow early or late use of the dbgp device · 8d053c79
      Jason Wessel 提交于
      If the EHCI debug port is initialized and in use, the EHCI host
      controller driver must follow two rules.
      
      1) If the EHCI host driver issues a controller reset, the debug
         controller driver re-initialization must get called after the reset
         is completed.
      
      2) The EHCI host driver should ignore any requests to the physical
         EHCI debug port when the EHCI debug port is in use.
      
      The code to check for the debug port was moved from ehci_pci_reinit()
      to ehci_pci_setup because it must get called prior to ehci_reset()
      which will clear the debug port registers.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: dbrownell@users.sourceforge.net
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8d053c79
    • J
      USB: ehci-dbgp: stability improvements and external re-init · 91777826
      Jason Wessel 提交于
      This patch implements several changes:
      
      1) Improve the capability to debug the dbgp driver
      
         The dbgp_ehci_status() was added in a number of places to report
         the critical ehci registers to diagnose the cause of a failure of
         the ehci-dbgp driver.
      
      2) Capability to survive the host controller initialization
      
         The dbgp_external_startup(), dbgp_not_safe, and dbgp_phys_port were
         added so as to allow the ehci-dbgp to re-initialize after the ehci
         host controller is reset by the standard host controller driver.
         This same routine is common for the early startup or
         re-initialization.
      
         This resulted in the need to move some of the initialization code
         out of the __init section because the ehci driver has the
         possibility to be loaded later on as a kernel module.
      
      3) Stability improvements for device initialization
      
         The device enumeration from 0 to 127 has the possibility to fail
         the first time after a warm reset on some older EHCI debug
         controllers.  The enumeration will be tried up to 3 times to
         account for this failure case.
      
         The dbg_wait_until_complete() was changed to wait up to 250 ms
         before failing which only comes into play during device
         initialization. The maximum delay will never get hit during the
         course of normal operation of the driver, unless the device got
         unplugged or there was a ehci controller failure, in which case the
         dbgp device driver will shut itself down.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: dbrownell@users.sourceforge.net
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      91777826
    • J
      USB: dbgp: EHCI debug controller initialization delays · 56faf0f9
      Jason Wessel 提交于
      When using the EHCI host controller as a polled device, a bit more
      tolerance is required in terms of delays.  On some 3+ghz systems the
      cpu loops were faster than the EHCI device mmio and resulted in the
      controller failing to initialize.
      
      On at least one first generation EHCI controller when it was not
      operating in interrupt mode, it would fail to report a port change
      status, but executing the port reset allowed the debug controller to
      work correctly anyway.  This errata causes a one time 300ms delay in
      the boot time, where as the typical delay is 1-5ms for an EHCI
      controller that does not have this errata.
      
      The debug printk's were fixed to have the correct state messages, and
      there was a conversion from using early_printk to printk to avoid
      calling the dbgp driver while debugging the initialization.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      56faf0f9
    • J
      USB: ehci-dbgp: Execute early BIOS hand off · 093344e1
      Jason Wessel 提交于
      The PCI quirk code executes a BIOS hand off to obtain full control of
      the EHCI host controller, the self contained ehci-dbgp driver must do
      the same thing using the early PCI API, else the BIOS can cause a
      fatal fault.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: dbrownell@users.sourceforge.net
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      093344e1
    • J
      USB: dbgp: insert cr prior to nl as needed · 87a5d151
      Jason Wessel 提交于
      The rs232 drivers send a carriage return prior to a new line in the
      early printk code.
      
      The usb debug driver should do the same because you want to be able to
      use the same terminal programs and tools for analysis of early printk
      data.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      87a5d151
    • J
      USB: ehci,dbgp,early_printk: split ehci debug driver from early_printk.c · df6c5169
      Jason Wessel 提交于
      Move the dbgp early printk driver in advance of refactoring and adding
      new code, so the changes to this code are tracked separately from the
      move of the code.
      
      The drivers/usb/early directory will be the location of the current
      and future early usb code for driving usb devices prior initializing
      the standard interrupt driven USB drivers.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      df6c5169
  9. 21 9月, 2009 1 次提交
  10. 13 3月, 2009 1 次提交
  11. 09 2月, 2009 1 次提交
    • I
      x86: early_printk.c - fix pgtable.h unification fallout · 726c0d95
      Ingo Molnar 提交于
       arch/x86/kernel/early_printk.c: In function ‘early_dbgp_init’:
       arch/x86/kernel/early_printk.c:827: error: ‘PAGE_KERNEL_NOCACHE’ undeclared (first use in this function)
       arch/x86/kernel/early_printk.c:827: error: (Each undeclared identifier is reported only once
       arch/x86/kernel/early_printk.c:827: error: for each function it appears in.)
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      726c0d95
  12. 07 2月, 2009 1 次提交
    • J
      x86: Fix compile error in arch/x86/kernel/early_printk.c · fb08b20f
      Jeremy Fitzhardinge 提交于
      Fix compile problem:
      
        CC      arch/x86/kernel/early_printk.o
      In file included from /home/jeremy/hg/xen/paravirt/linux/arch/x86/kernel/early_printk.c:17:
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h: In function 'pmd_page':
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: error: implicit declaration of function '__pfn_to_section'
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: warning: initialization makes pointer from integer without a cast
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: error: implicit declaration of function '__section_mem_map_addr'
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:516: warning: return makes pointer from integer without a cast
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h: In function 'pud_page':
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:586: warning: initialization makes pointer from integer without a cast
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:586: warning: return makes pointer from integer without a cast
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h: In function 'pgd_page':
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:625: warning: initialization makes pointer from integer without a cast
      /home/jeremy/hg/xen/paravirt/linux/arch/x86/include/asm/pgtable.h:625: warning: return makes pointer from integer without a cast
      
      This is a cycling dependency between asm/pgtable.h and linux/mmzone.h
      when using CONFIG_SPARSEMEM.  Rather than hacking up the headers some
      more, remove asm/pgtable.h, since early_printk.c doesn't actually need
      it.
      Signed-off-by: NJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
      fb08b20f
  13. 02 1月, 2009 1 次提交
  14. 13 12月, 2008 1 次提交
  15. 12 10月, 2008 1 次提交
  16. 07 9月, 2008 1 次提交
  17. 19 8月, 2008 1 次提交
    • H
      x86: early_printk.c trivial sparse fixes · 467cd052
      Harvey Harrison 提交于
      arch/x86/kernel/early_printk.c:404:13: warning: incorrect type in assignment (different base types)
      arch/x86/kernel/early_printk.c:404:13:    expected restricted __le16 [assigned] [usertype] wValue
      arch/x86/kernel/early_printk.c:404:13:    got int [signed] value
      arch/x86/kernel/early_printk.c:405:13: warning: incorrect type in assignment (different base types)
      arch/x86/kernel/early_printk.c:405:13:    expected restricted __le16 [assigned] [usertype] wIndex
      arch/x86/kernel/early_printk.c:405:13:    got int [signed] index
      arch/x86/kernel/early_printk.c:406:14: warning: incorrect type in assignment (different base types)
      arch/x86/kernel/early_printk.c:406:14:    expected restricted __le16 [assigned] [usertype] wLength
      arch/x86/kernel/early_printk.c:406:14:    got int [signed] size
      arch/x86/kernel/early_printk.c:845:16: warning: Using plain integer as NULL pointer
      arch/x86/kernel/early_printk.c:992:13: warning: symbol 'enable_debug_console' was not declared. Should it be static?
      Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      467cd052
  18. 26 7月, 2008 1 次提交
    • Y
      x86: usb debug port early console, v4 · 5c05917e
      Yinghai Lu 提交于
      based on work from Eric, and add some timeout so don't dead loop when debug
      device is not installed
      
      v2: fix checkpatch warning
      v3: move ehci struct def to linux/usrb/ehci_def.h from host/ehci.h
          also add CONFIG_EARLY_PRINTK_DBGP to disable it by default
      v4: address comments from Ingo, seperate ehci reg def moving to another patch
          also add auto detect port that connect to debug device for Nvidia
          southbridge
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: "Arjan van de Ven" <arjan@infradead.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: "Greg KH" <greg@kroah.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      5c05917e
  19. 18 6月, 2008 1 次提交
  20. 17 4月, 2008 2 次提交
    • P
      x86: coding style fixes to x86/kernel/early_printk.c · c9cf39ae
      Paolo Ciarrocchi 提交于
      Depends on:
      [PATCH 2/3] x86: coding style fixes to arch/x86/kernel/early_printk.c
      
      Remove two:
      ERROR: do not initialise statics to 0 or NULL
      
      paolo@paolo-desktop:/tmp/c$ size *
         text    data     bss     dec     hex filename
         1172     280      12    1464     5b8 early_printk.o.after
         1172     280      12    1464     5b8 early_printk.o.before
      
      This patch is changing the binary output:
      
      paolo@paolo-desktop:/tmp/c$ md5sum *
      dad9a9a881e0eeda62cc5645bd3d7cad  early_printk.o.after
      da32f5cd8f248970e4809e1005393e95  early_printk.o.before
      
      because the two variables moved to another section. No
      change in functionality.
      Signed-off-by: NPaolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c9cf39ae
    • P
      x86: coding style fixes to arch/x86/kernel/early_printk.c · e941f27a
      Paolo Ciarrocchi 提交于
      Before:
      total: 17 errors, 3 warnings, 254 lines checked
      
      After:
      total: 2 errors, 3 warnings, 254 lines checked
      
      paolo@paolo-desktop:/tmp/b$ md5sum *
      da32f5cd8f248970e4809e1005393e95  early_printk.o.after
      da32f5cd8f248970e4809e1005393e95  early_printk.o.before
      
      paolo@paolo-desktop:/tmp/b$ size *
         text    data     bss     dec     hex filename
         1172     280      12    1464     5b8 early_printk.o.after
         1172     280      12    1464     5b8 early_printk.o.befor
      Signed-off-by: NPaolo Ciarrocchi <paolo.ciarrocchi@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e941f27a
  21. 02 2月, 2008 1 次提交
  22. 17 10月, 2007 1 次提交
  23. 11 10月, 2007 2 次提交
  24. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      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