1. 17 5月, 2010 2 次提交
  2. 19 12月, 2009 1 次提交
  3. 26 3月, 2009 1 次提交
    • C
      [S390] fix dump_stack vs. %p and (null) · d7fd5f1e
      Christian Borntraeger 提交于
      The s390 implemenation of dump_stack uses %p to display stack content.
      Since d97106ab (Make %p print '(null)'
      for NULL pointers) this causes a strange output for dump_stack:
      
      [...]
      Process basename (pid: 8822, task: 00000000b2ece038, ksp: 00000000b24d7b38)
      04000000b5685c00 00000000b24d7760 0000000000000002 (null)
      00000000b24d7800 00000000b24d7778 00000000b24d7778 00000000001052fe
      (null) 00000000b24d7b38 (null) 000000000000000a
      000000000000000d (null) 00000000b24d7760 00000000b24d77d8
      000000000051a7e8 00000000001052fe 00000000b24d7760 00000000b24d77b0
      Call Trace:
      [...]
      
      This patch changes our dump_stack to use the appropriate %x format.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      d7fd5f1e
  4. 30 4月, 2008 1 次提交
  5. 17 4月, 2008 3 次提交
    • C
      [S390] kernel: show last breaking-event-address on oops · 9e74a6b8
      Christian Borntraeger 提交于
      Newer s390 models have a breaking-event-address-recording register.
      Each time an instruction causes a break in the sequential instruction
      execution, the address is saved in that hardware register. On a program
      interrupt the address is copied to the lowcore address 272-279, which
      makes it software accessible.
      
      This patch changes the program check handler and the stack overflow
      checker to copy the value into the pt_regs argument.
      The oops output is enhanced to show the last known breaking address.
      It might give additional information if the stack trace is corrupted.
      
      The feature is only available on 64 bit.
      
      The new oops output looks like:
      
      [---------snip----------]
      Modules linked in: vmcp sunrpc qeth_l2 dm_mod qeth ccwgroup
      CPU: 2 Not tainted 2.6.24zlive-host #8
      Process modprobe (pid: 4788, task: 00000000bf3d8718, ksp: 00000000b2b0b8e0)
      Krnl PSW : 0704200180000000 000003e000020028 (vmcp_init+0x28/0xe4 [vmcp])
                 R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:0 CC:2 PM:0 EA:3
      Krnl GPRS: 0000000004000002 000003e000020000 0000000000000000 0000000000000001
                 000000000015734c ffffffffffffffff 000003e0000b3b00 0000000000000000
                 000003e00007ca30 00000000b5bb5d40 00000000b5bb5800 000003e0000b3b00
                 000003e0000a2000 00000000003ecf50 00000000b2b0bd50 00000000b2b0bcb0
      Krnl Code: 000003e000020018: c0c000040ff4       larl    %r12,3e0000a2000
                 000003e00002001e: e3e0f0000024       stg     %r14,0(%r15)
                 000003e000020024: a7f40001           brc     15,3e000020026
                >000003e000020028: e310c0100004       lg      %r1,16(%r12)
                 000003e00002002e: c020000413dc       larl    %r2,3e0000a27e6
                 000003e000020034: c0a00004aee6       larl    %r10,3e0000b5e00
                 000003e00002003a: a7490001           lghi    %r4,1
                 000003e00002003e: a75900f0           lghi    %r5,240
      Call Trace:
      ([<000000000014b300>] blocking_notifier_call_chain+0x2c/0x40)
       [<000000000015735c>] sys_init_module+0x19d8/0x1b08
       [<0000000000110afc>] sysc_noemu+0x10/0x16
       [<000002000011cda2>] 0x2000011cda2
      Last Breaking-Event-Address:
       [<000003e000020024>] vmcp_init+0x24/0xe4 [vmcp]
      [---------snip----------]
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      9e74a6b8
    • H
      [S390] Fix a lot of sparse warnings. · a806170e
      Heiko Carstens 提交于
      Most noteable part of this commit is the new local header file entry.h
      which contains all the function declarations of functions that get only
      called from asm code or are arch internal. That way we can avoid extern
      declarations in C files.
      This is more or less the same that was done for sparc64.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      a806170e
    • H
      [S390] Convert monitor calls to function calls. · 43ca5c3a
      Heiko Carstens 提交于
      Remove the program check generating monitor calls and use function
      calls instead. Theres is no real advantage in using monitor calls,
      but they do make debugging harder, because of all the program checks
      it generates.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      43ca5c3a
  6. 10 2月, 2008 1 次提交
    • M
      [S390] dynamic page tables. · 6252d702
      Martin Schwidefsky 提交于
      Add support for different number of page table levels dependent
      on the highest address used for a process. This will cause a 31 bit
      process to use a two level page table instead of the four level page
      table that is the default after the pud has been introduced. Likewise
      a normal 64 bit process will use three levels instead of four. Only
      if a process runs out of the 4 tera bytes which can be addressed with
      a three level page table the fourth level is dynamically added. Then
      the process can use up to 8 peta byte.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      6252d702
  7. 09 2月, 2008 1 次提交
    • E
      proc: seqfile convert proc_pid_status to properly handle pid namespaces · df5f8314
      Eric W. Biederman 提交于
      Currently we possibly lookup the pid in the wrong pid namespace.  So
      seq_file convert proc_pid_status which ensures the proper pid namespaces is
      passed in.
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: another build fix]
      [akpm@linux-foundation.org: s390 build fix]
      [akpm@linux-foundation.org: fix task_name() output]
      [akpm@linux-foundation.org: fix nommu build]
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Cc: Andrew Morgan <morgan@kernel.org>
      Cc: Serge Hallyn <serue@us.ibm.com>
      Cc: Cedric Le Goater <clg@fr.ibm.com>
      Cc: Pavel Emelyanov <xemul@openvz.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Paul Menage <menage@google.com>
      Cc: Paul Jackson <pj@sgi.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      df5f8314
  8. 05 2月, 2008 1 次提交
  9. 26 1月, 2008 1 次提交
  10. 20 11月, 2007 1 次提交
  11. 18 7月, 2007 1 次提交
  12. 17 7月, 2007 1 次提交
    • H
      generic bug: use show_regs() instead of dump_stack() · 608e2619
      Heiko Carstens 提交于
      The current generic bug implementation has a call to dump_stack() in case a
      WARN_ON(whatever) gets hit.  Since report_bug(), which calls dump_stack(),
      gets called from an exception handler we can do better: just pass the
      pt_regs structure to report_bug() and pass it to show_regs() in case of a
      warning.  This will give more debug informations like register contents,
      etc...  In addition this avoids some pointless lines that dump_stack()
      emits, since it includes a stack backtrace of the exception handler which
      is of no interest in case of a warning.  E.g.  on s390 the following lines
      are currently always present in a stack backtrace if dump_stack() gets
      called from report_bug():
      
       [<000000000001517a>] show_trace+0x92/0xe8)
       [<0000000000015270>] show_stack+0xa0/0xd0
       [<00000000000152ce>] dump_stack+0x2e/0x3c
       [<0000000000195450>] report_bug+0x98/0xf8
       [<0000000000016cc8>] illegal_op+0x1fc/0x21c
       [<00000000000227d6>] sysc_return+0x0/0x10
      Acked-by: NJeremy Fitzhardinge <jeremy@goop.org>
      Acked-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Kyle McMartin <kyle@parisc-linux.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      608e2619
  13. 19 6月, 2007 2 次提交
  14. 09 5月, 2007 2 次提交
  15. 27 4月, 2007 2 次提交
    • H
      [S390] Use generic bug. · c0007f1a
      Heiko Carstens 提交于
      Generic bug implementation for s390. Will increase the value of the
      console output on BUG() statements since registers r0-r5,r14 will
      not be clobbered by a printk() call that was previously done before
      the illegal instruction of BUG() was hit.
      Also implements an architecture specific WARN_ON(). Output of that
      could be increased but requires common code change.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      c0007f1a
    • M
      [S390] Improved oops output. · bb11e3bd
      Martin Schwidefsky 提交于
      This patch adds two improvements to the oops output. First it adds an
      additional line after the PSW which decodes the different fields of it.
      Second a disassembler is added that decodes the instructions surrounding
      the faulting PSW. The output of a test oops now looks like this:
      
      kernel BUG at init/main.c:419
      illegal operation: 0001 [#1]
      CPU:    0    Not tainted
      Process swapper (pid: 0, task: 0000000000464968, ksp: 00000000004be000)
      Krnl PSW : 0700000180000000 00000000000120b6 (rest_init+0x36/0x38)
                 R:0 T:1 IO:1 EX:1 Key:0 M:0 W:0 P:0 AS:0 CC:0 PM:0 EA:3
      Krnl GPRS: 0000000000000003 00000000004ba017 0000000000000022 0000000000000001
                 000000000003a5f6 0000000000000000 00000000004be6a8 0000000000000000
                 0000000000000000 00000000004b8200 0000000000003a50 0000000000008000
                 0000000000516368 000000000033d008 00000000000120b2 00000000004bdee0
      Krnl Code: 00000000000120a6: e3e0f0980024       stg     %r14,152(%r15)
                 00000000000120ac: c0e500014296       brasl   %r14,3a5d8
                 00000000000120b2: a7f40001           brc     15,120b4
                >00000000000120b6: 0707               bcr     0,%r7
                 00000000000120b8: eb7ff0500024       stmg    %r7,%r15,80(%r15)
                 00000000000120be: c0d000195825       larl    %r13,33d108
                 00000000000120c4: a7f13f00           tmll    %r15,16128
                 00000000000120c8: a7840001           brc     8,120ca
      Call Trace:
      ([<00000000000120b2>] rest_init+0x32/0x38)
       [<00000000004be614>] start_kernel+0x37c/0x410
       [<0000000000012020>] _ehead+0x20/0x80
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      bb11e3bd
  16. 06 2月, 2007 2 次提交
  17. 04 12月, 2006 2 次提交
  18. 27 10月, 2006 1 次提交
  19. 10 10月, 2006 1 次提交
  20. 06 10月, 2006 1 次提交
  21. 28 9月, 2006 1 次提交
    • M
      [S390] Inline assembly cleanup. · 94c12cc7
      Martin Schwidefsky 提交于
      Major cleanup of all s390 inline assemblies. They now have a common
      coding style. Quite a few have been shortened, mainly by using register
      asm variables. Use of the EX_TABLE macro helps  as well. The atomic ops,
      bit ops and locking inlines new use the Q-constraint if a newer gcc
      is used.  That results in slightly better code.
      
      Thanks to Christian Borntraeger for proof reading the changes.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      94c12cc7
  22. 20 9月, 2006 1 次提交
  23. 12 7月, 2006 1 次提交
  24. 01 7月, 2006 1 次提交
  25. 29 6月, 2006 1 次提交
  26. 08 2月, 2006 1 次提交
  27. 13 1月, 2006 2 次提交
  28. 07 1月, 2006 1 次提交
  29. 07 11月, 2005 1 次提交
    • M
      [PATCH] s390: remove pagex support · d4b68996
      Martin Schwidefsky 提交于
      Remove pagex pseudo page fault code.  It does not work together with the
      system call speedup that makes the complete system call path enabled for
      interrupts.  To make pagex and the syscall speedup code work together we would
      have to add code to the program check handler to do a critical section cleanup
      like the asynchronous interrupt code.  This would make program checks slower.
      Not what we want.
      
      Newer versions of z/VM have the improved pfault pseudo page fault interface.
      This replaces the old pagex interface and does not have the problem.  So its
      better to just rip out the pagex code.
      Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d4b68996
  30. 02 8月, 2005 1 次提交
  31. 26 6月, 2005 1 次提交