1. 17 9月, 2008 2 次提交
  2. 13 9月, 2008 2 次提交
    • D
      sparc: Fix user_regset 'n' field values. · 7d4ee289
      David S. Miller 提交于
      As noticed by Russell King, we were not setting this properly
      to the number of entries, but rather the total size.
      
      This results in the core dumping code allocating waayyyy too
      much memory.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7d4ee289
    • D
      sparc64: Fix PCI error interrupt registry on PSYCHO. · 80a56ab6
      David S. Miller 提交于
      We need to pass IRQF_SHARED, otherwise we get things like:
      
      IRQ handler type mismatch for IRQ 33
      current handler: PSYCHO_UE
      Call Trace:
       [000000000048394c] request_irq+0xac/0x120
       [00000000007c5f6c] psycho_scan_bus+0x98/0x158
       [00000000007c2bc0] pcibios_init+0xdc/0x12c
       [0000000000426a5c] do_one_initcall+0x1c/0x160
       [00000000007c0180] kernel_init+0x9c/0xfc
       [0000000000427050] kernel_thread+0x30/0x60
       [00000000006ae1d0] rest_init+0x10/0x60
      
      on e3500 and similar systems.
      
      On a single board, the UE interrupts of two Psycho nodes
      are funneled through the same interrupt, from of_debug=3
      dump:
      
      /pci@b,4000: direct translate 2ee --> 21
       ...
      /pci@b,2000: direct translate 2ee --> 21
      
      Decimal "33" mentioned above is the hex "21" mentioned here.
      
      Thanks to Meelis Roos for dumps and testing.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      80a56ab6
  3. 11 9月, 2008 1 次提交
  4. 09 9月, 2008 1 次提交
  5. 03 9月, 2008 2 次提交
  6. 30 8月, 2008 1 次提交
  7. 29 8月, 2008 1 次提交
  8. 25 8月, 2008 1 次提交
  9. 14 8月, 2008 3 次提交
    • D
      sparc64: Fix cmdline_memory_size handling bugs. · f2b60794
      David S. Miller 提交于
      First, lmb_enforce_memory_limit() interprets it's argument
      (mostly, heh) as a size limit not an address limit.  So pass
      the raw cmdline_memory_size value into it.  And we don't
      need to check it against zero, lmb_enforce_memory_limit() does
      that for us.
      
      Next, free_initmem() needs special handling when the kernel
      command line trims the available memory.  The problem case is
      if the trimmed out memory is where the kernel image itself
      resides.
      
      When that memory is trimmed out, we don't add those physical
      ram areas to the sparsemem active ranges, amongst other things.
      Which means that this free_initmem() code will free up invalid
      page structs, resulting in either crashes or hangs.
      
      Just quick fix this by not freeing initmem at all if "mem="
      was given on the boot command line.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f2b60794
    • D
      sparc64: Fix overshoot in nid_range(). · c918dcce
      David S. Miller 提交于
      If 'start' does not begin on a page boundary, we can overshoot
      past 'end'.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c918dcce
    • D
      sparc64: Handle stack trace attempts before irqstacks are setup. · 6f63e781
      David S. Miller 提交于
      Things like lockdep can try to do stack backtraces before
      the irqstack blocks have been setup.  So don't try to match
      their ranges so early on.
      
      Also, remove unused variable in save_stack_trace().
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6f63e781
  10. 13 8月, 2008 1 次提交
  11. 12 8月, 2008 1 次提交
  12. 10 8月, 2008 1 次提交
  13. 08 8月, 2008 2 次提交
  14. 07 8月, 2008 1 次提交
  15. 05 8月, 2008 14 次提交
  16. 01 8月, 2008 2 次提交
    • D
      sparc64: Do not clobber %g7 in setcontext() trap. · 0a4949c4
      David S. Miller 提交于
      That's the userland thread register, so we should never try to change
      it like this.
      
      Based upon glibc bug nptl/6577 and suggestions by Jakub Jelinek.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0a4949c4
    • D
      sparc64: Kill __show_regs(). · dbf3e950
      David S. Miller 提交于
      The story is that what we used to do when we actually used
      smp_report_regs() is that if you specifically only wanted to have the
      current cpu's registers dumped you would call "__show_regs()"
      otherwise you would call show_regs() which also invoked
      smp_report_regs().
      
      Now that we killed off smp_report_regs() there is no longer any
      reason to have these two routines, just show_regs() is sufficient.
      
      Also kill off a stray declaration of show_regs() in sparc64_ksym.c
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dbf3e950
  17. 31 7月, 2008 4 次提交