1. 20 4月, 2008 28 次提交
  2. 19 4月, 2008 1 次提交
  3. 18 4月, 2008 4 次提交
    • J
      kgdb: fix several kgdb regressions · 737a460f
      Jason Wessel 提交于
      kgdb core fixes:
      - Check to see that mm->mmap_cache is not null before calling
        flush_cache_range(), else on arch=ARM it will cause a fatal
        fault.
      
      - Breakpoints should only be restored if they are in the BP_ACTIVE
        state.
      
      - Fix a typo in comments to "kgdb_register_io_module"
      
      x86 kgdb fixes:
      - Fix the x86 arch handler such that on a kill or detach that the
        appropriate cleanup on the single stepping flags gets run.
      
      - Add in the DIE_NMIWATCHDOG call for x86_64
      
      - Touch the nmi watchdog before returning the system to normal
        operation after performing any kind of kgdb operation, else
        the possibility exists to trigger the watchdog.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      737a460f
    • J
      kgdb: add x86 HW breakpoints · 64e9ee30
      Jason Wessel 提交于
      Add HW breakpoints into the arch specific portion of x86 kgdb.  In the
      current x86 kernel.org kernels HW breakpoints are changed out in lazy
      fashion because there is no infrastructure around changing them when
      changing to a kernel task or entering the kernel mode via a system
      call.  This lazy approach means that if a user process uses HW
      breakpoints the kgdb will loose out.  This is an acceptable trade off
      because the developer debugging the kernel is assumed to know what is
      going on system wide and would be aware of this trade off.
      
      There is a minor bug fix to the kgdb core so as to correctly call the
      hw breakpoint functions with a valid value from the enum.
      
      There is also a minor change to the x86_64 startup code when using
      early HW breakpoints.  When the debugger is connected, the cpu startup
      code must not zero out the HW breakpoint registers or you cannot hit
      the breakpoints you are interested in, in the first place.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      64e9ee30
    • J
      kgdb: fix NMI hangs · d3597524
      Jason Wessel 提交于
      This patch fixes the hang regression with kgdb when the NMI interrupt
      comes in while the master core is returning from an exception.
      
      Adjust the NMI logic such that KGDB will not stop NMI exceptions from
      occurring by in general returning NOTIFY_DONE.  It is not possible to
      distinguish the debug NMI sync vs the normal NMI apic interrupt so
      kgdb needs to catch the unknown NMI if it the debugger was previously
      active on one of the cpus.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      d3597524
    • I
      x86: kgdb support · 82da3ff8
      Ingo Molnar 提交于
      simplified and streamlined kgdb support on x86, both 32-bit and 64-bit,
      based on patch from:
      
        Subject: kgdb: core-lite
        From: Jason Wessel <jason.wessel@windriver.com>
      
      [ and countless other authors - see the patch for details. ]
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@web.de>
      Reviewed-by: NThomas Gleixner <tglx@linutronix.de>
      82da3ff8
  4. 17 4月, 2008 7 次提交
    • I
      x86: standalone trampoline code · 77ad386e
      Ingo Molnar 提交于
      move the trampoline setup code out of smpboot.c - UP kernels can have
      suspend support too.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      77ad386e
    • P
      x86: move suspend wakeup code to C · e44b7b75
      Pavel Machek 提交于
      Move wakeup code to .c, so that video mode setting code can be shared
      between boot and wakeup. Remove nasty assembly code in 64-bit case by
      re-using trampoline code. Stack setup was fixed to clear high 16bits
      of %esp, maybe that fixes some machines.
      
      .c code sharing and morse code was done H. Peter Anvin, Sam Ravnborg
      reviewed kbuild related stuff, and it seems okay to him. Rafael did
      some cleanups.
      
      [rjw:
      * Made the patch stop breaking compilation on x86-32
      * Added arch/x86/kernel/acpi/sleep.h
      * Got rid of compiler warnings in arch/x86/kernel/acpi/sleep.c
      * Fixed 32-bit compilation on x86-64 systems
      * Added include/asm-x86/trampoline.h and fixed the non-SMP
        compilation on 64-bit x86
      * Removed arch/x86/kernel/acpi/sleep_32.c which was not used
      * Fixed some breakage caused by the integration of smpboot.c done
        under us in the meantime]
      Signed-off-by: NPavel Machek <pavel@suse.cz>
      Signed-off-by: NH. Peter Anvin <hpa@zytor.com>
      Reviewed-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e44b7b75
    • P
    • J
      x86: setup_trampoline() - fix section mismatch warning · e223f162
      Jacek Luczak 提交于
      this patch fixes section mismatch warnings (on x86_64 host) in setup_trampoline(),
      which was referencing __initdata variables trampoline_data and trampoline_end.
      
      Warning messages:
      WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x2b6a): Section mismatch in reference from the function setup_trampoline()
      to the variable .init.data:trampoline_data
      The function __cpuinit setup_trampoline() references
      a variable __initdata trampoline_data.
      If trampoline_data is only used by setup_trampoline then
      annotate trampoline_data with a matching annotation.
      
      WARNING: arch/x86/kernel/built-in.o(.cpuinit.text+0x2b71): Section mismatch in reference from the function setup_trampoline()
      to the variable .init.data:trampoline_end
      The function __cpuinit setup_trampoline() references
      a variable __initdata trampoline_end.
      If trampoline_end is only used by setup_trampoline then
      annotate trampoline_end with a matching annotation.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e223f162
    • J
      x86: section mismatch fixes, #1 · df96323d
      Jacek Luczak 提交于
      This patch fixes mismatch warnings in smp_checks() (in arch/x86/kernel/smpboot.c):
      
      WARNING: arch/x86/kernel/built-in.o(.text+0x11922): Section mismatch in reference from the function smp_checks()
      to the variable .cpuinit.data:smp_b_stepping
      The function smp_checks() references
      the variable __cpuinitdata smp_b_stepping.
      This is often because smp_checks lacks a __cpuinitdata
      annotation or the annotation of smp_b_stepping is wrong.
      Signed-off-by: NJacek Luczak <luczak.jacek@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      df96323d
    • A
      x86: fix paranoia about using BIOS quickboot mechanism. · 63d38198
      Alok Kataria 提交于
      > > Make sure that we clear the "shutdown status flag" in the CMOS
      > > register after each CPU is brought up.  This fixes a problem where the
      > > "shutdown status flag" may remain set when a CPU is brought up after
      > > booting.
      >
      > btw., what problem does this result in, exactly?
      
      The shutdown status flag set to "0xA", corresponds to "JMP double word
      request without INT init".
      
      This JMP at reboot time is at an unintended location. And results in
      Triple faults in our case.
      Though this error at reboot can be safely ignored in a VM environment,
      am not sure what the effect would be on a physical system. May be it
      will result in a triple fault and an eventual hardware reset thus
      masking this BUG in the kernel.
      
      This fix just makes sure that we reset that status flag after
      initialization is done.
      
      Fix paranoia about using BIOS quickboot mechanism.
      
      Make sure that we clear the "shutdown status flag" in the CMOS register
      after each CPU is brought up.  This fixes a problem where the "shutdown
      status flag" may remain set when a CPU is brought up after booting.
      Signed-off-by: NAlok N Kataria <akataria@vmware.com>
      Signed-off-by: NDan Arai <arai@vmware.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      63d38198
    • Y
      x86: print out buggy mptable · 711554db
      Yinghai Lu 提交于
      print out buggy mptable, instead of skipping it quietly
      Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      711554db