1. 04 5月, 2011 1 次提交
    • P
      powerpc: Save Come-From Address Register (CFAR) in exception frame · 48404f2e
      Paul Mackerras 提交于
      Recent 64-bit server processors (POWER6 and POWER7) have a "Come-From
      Address Register" (CFAR), that records the address of the most recent
      branch or rfid (return from interrupt) instruction for debugging purposes.
      
      This saves the value of the CFAR in the exception entry code and stores
      it in the exception frame.  We also make xmon print the CFAR value in
      its register dump code.
      
      Rather than extend the pt_regs struct at this time, we steal the orig_gpr3
      field, which is only used for system calls, and use it for the CFAR value
      for all exceptions/interrupts other than system calls.  This means we
      don't save the CFAR on system calls, which is not a great problem since
      system calls tend not to happen unexpectedly, and also avoids adding the
      overhead of reading the CFAR to the system call entry path.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      48404f2e
  2. 27 4月, 2011 2 次提交
  3. 25 3月, 2011 1 次提交
  4. 20 8月, 2010 1 次提交
  5. 14 7月, 2010 1 次提交
  6. 03 2月, 2010 1 次提交
  7. 24 11月, 2009 1 次提交
  8. 27 10月, 2009 1 次提交
  9. 24 9月, 2009 1 次提交
  10. 20 8月, 2009 1 次提交
  11. 09 6月, 2009 1 次提交
  12. 21 5月, 2009 1 次提交
  13. 23 12月, 2008 1 次提交
  14. 31 10月, 2008 1 次提交
    • P
      powerpc: Fix compile errors with CONFIG_BUG=n · ebdba9af
      Paul Mackerras 提交于
      This makes sure we don't try to call find_bug or is_warning_bug when
      CONFIG_BUG=n and CONFIG_XMON=y.  Otherwise we get these errors:
      
      arch/powerpc/xmon/xmon.c: In function ‘print_bug_trap’:
      arch/powerpc/xmon/xmon.c:1364: error: implicit declaration of function ‘find_bug’
      arch/powerpc/xmon/xmon.c:1364: warning: assignment makes pointer from integer without a cast
      arch/powerpc/xmon/xmon.c:1367: error: implicit declaration of function ‘is_warning_bug’
      arch/powerpc/xmon/xmon.c:1374: error: dereferencing pointer to incomplete type
      make[2]: *** [arch/powerpc/xmon/xmon.o] Error 1
      make[1]: *** [arch/powerpc/xmon] Error 2
      make: *** [sub-make] Error 2
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      ebdba9af
  15. 16 6月, 2008 1 次提交
  16. 14 5月, 2008 2 次提交
    • M
      [POWERPC] Make cpus_in_xmon static and remove extern mess from hvc_console.c · 1c8950ff
      Michael Ellerman 提交于
      This is a little messier than I'd like because xmon.h only exists
      on powerpc and we can't have a static inline and an extern declaration
      visible at the same time.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      1c8950ff
    • M
      [POWERPC] Fix sparse warnings in xmon.c · 9f1067c2
      Michael Ellerman 提交于
      warning: Using plain integer as NULL pointer
      warning: Using plain integer as NULL pointer
      warning: symbol 'excprint' was not declared. Should it be static?
      warning: symbol 'prregs' was not declared. Should it be static?
      warning: symbol 'cacheflush' was not declared. Should it be static?
      warning: symbol 'read_spr' was not declared. Should it be static?
      warning: symbol 'write_spr' was not declared. Should it be static?
      warning: symbol 'super_regs' was not declared. Should it be static?
      warning: symbol 'mread' was not declared. Should it be static?
      warning: symbol 'mwrite' was not declared. Should it be static?
      warning: symbol 'byterev' was not declared. Should it be static?
      warning: symbol 'memex' was not declared. Should it be static?
      warning: symbol 'bsesc' was not declared. Should it be static?
      warning: symbol 'dump' was not declared. Should it be static?
      warning: symbol 'prdump' was not declared. Should it be static?
      warning: symbol 'generic_inst_dump' was not declared. Should it be static?
      warning: symbol 'ppc_inst_dump' was not declared. Should it be static?
      warning: symbol 'memops' was not declared. Should it be static?
      warning: symbol 'memdiffs' was not declared. Should it be static?
      warning: symbol 'memlocate' was not declared. Should it be static?
      warning: symbol 'memzcan' was not declared. Should it be static?
      warning: symbol 'proccall' was not declared. Should it be static?
      warning: symbol 'scannl' was not declared. Should it be static?
      warning: symbol 'hexdigit' was not declared. Should it be static?
      warning: symbol 'flush_input' was not declared. Should it be static?
      warning: symbol 'inchar' was not declared. Should it be static?
      warning: symbol 'take_input' was not declared. Should it be static?
      warning: symbol 'xmon_init' was not declared. Should it be static?
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      9f1067c2
  17. 05 5月, 2008 1 次提交
  18. 18 4月, 2008 1 次提交
  19. 15 4月, 2008 1 次提交
  20. 25 1月, 2008 1 次提交
  21. 11 12月, 2007 2 次提交
    • W
      [POWERPC] Update xmon slb code · b3b9595f
      will schmidt 提交于
      This adds a bit more detail to the xmon SLB output.  When the valid
      bit is set, this displays the ESID and VSID values, as well as
      decoding the segment size -- 1T or 256M -- and displaying the LLP
      bits.  This supresses the output for any slb entries that contain only
      zeros.
      
      sample output from power6 (1T segment support):
      00 c000000008000000 40004f7ca3000500  1T  ESID=   c00000  VSID=       4f7ca3 LLP:100
      01 d000000008000000 4000eb71b0000400  1T  ESID=   d00000  VSID=       eb71b0 LLP:  0
      08 0000000018000000 0000c8499f8ccc80 256M ESID=        1  VSID=    c8499f8cc LLP:  0
      09 00000000f8000000 0000d2c1a8e46c80 256M ESID=        f  VSID=    d2c1a8e46 LLP:  0
      10 0000000048000000 0000ca87eab1dc80 256M ESID=        4  VSID=    ca87eab1d LLP:  0
      43 cf00000008000000 400011b260000500  1T  ESID=   cf0000  VSID=       11b260 LLP:100
      
      sample output from power5 (notice the non-valid but non-zero entries)
      10 0000000008000000 00004fd0e077ac80 256M ESID=        0  VSID=    4fd0e077a LLP:  0
      11 00000000f8000000 00005b085830fc80 256M ESID=        f  VSID=    5b085830f LLP:  0
      12 0000000048000000 000052ce99fe6c80 256M ESID=        4  VSID=    52ce99fe6 LLP:  0
      13 0000000018000000 000050904ed95c80 256M ESID=        1  VSID=    50904ed95 LLP:  0
      14 cf00000008000000 0000d59aca40f500 256M ESID=cf0000000  VSID=    d59aca40f LLP:100
      15 c000000078000000 000045cb97751500 256M ESID=c00000007  VSID=    45cb97751 LLP:100
      
      Tested on power5 and power6.
      Signed-Off-By: NWill Schmidt <will_schmidt@vnet.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b3b9595f
    • M
      [POWERPC] Use SLB size from the device tree · 584f8b71
      Michael Neuling 提交于
      Currently we hardwire the number of SLBs to 64, but PAPR says we
      should use the ibm,slb-size property to obtain the number of SLB
      entries.  This uses this property instead of assuming 64.  If no
      property is found, we assume 64 entries as before.
      
      This soft patches the SLB handler, so it shouldn't change performance
      at all.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      584f8b71
  22. 03 12月, 2007 1 次提交
  23. 22 7月, 2007 1 次提交
  24. 10 7月, 2007 1 次提交
  25. 09 5月, 2007 1 次提交
  26. 27 4月, 2007 1 次提交
    • A
      [POWERPC] Fix WARN_ON when entering xmon · f13659e0
      Anton Blanchard 提交于
      Whenever we enter xmon we get a WARN_ON out of the rtas code since it
      thinks interrupts are still on:
      
      Unable to handle kernel paging request for data at address 0x00000000
      Faulting instruction address: 0xd000000000080008
      cpu 0x3: Vector: 300 (Data Access) at [c0000000075dba00]
          pc: d000000000080008: .doit+0x8/0x40 [oopser]
          lr: c000000000077704: .sys_init_module+0x1664/0x1824
          sp: c0000000075dbc80
         msr: 9000000000009032
         dar: 0
       dsisr: 42000000
        current = 0xc000000003fa64b0
        paca    = 0xc000000000694280
          pid   = 2260, comm = insmod
      
      ------------[ cut here ]------------
      Badness at arch/powerpc/kernel/entry_64.S:651
      Call Trace:
      [C0000000075DAE70] [C00000000000EB64] .show_stack+0x68/0x1b0 (unreliable)
      [C0000000075DAF10] [C000000000216254] .report_bug+0x94/0xe8
      [C0000000075DAFA0] [C00000000047B140] __kprobes_text_start+0x178/0x584
      [C0000000075DB040] [C0000000000044F4] program_check_common+0xf4/0x100
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f13659e0
  27. 09 3月, 2007 1 次提交
  28. 08 3月, 2007 1 次提交
  29. 14 2月, 2007 1 次提交
  30. 11 12月, 2006 1 次提交
    • J
      [POWERPC] Generic BUG for powerpc · 73c9ceab
      Jeremy Fitzhardinge 提交于
      This makes powerpc use the generic BUG machinery.  The biggest reports the
      function name, since it is redundant with kallsyms, and not needed in general.
      
      There is an overall reduction of code, since module_32/64 duplicated several
      functions.
      
      Unfortunately there's no way to tell gcc that BUG won't return, so the BUG
      macro includes a goto loop.  This will generate a real jmp instruction, which
      is never used.
      
      [akpm@osdl.org: build fix]
      [paulus@samba.org: remove infinite loop in BUG_ON]
      Signed-off-by: NJeremy Fitzhardinge <jeremy@goop.org>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Hugh Dickens <hugh@veritas.com>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      73c9ceab
  31. 04 12月, 2006 7 次提交