Skip to content
  1. Sep 21, 2006
  2. Sep 20, 2006
  3. Sep 13, 2006
  4. Sep 04, 2006
  5. Sep 01, 2006
  6. Aug 30, 2006
    • Zang Roy-r61911's avatar
      [POWERPC] Support for "weird" MPICs and fixup mpc7448_hpc2 · 7233593b
      Zang Roy-r61911 authored
      
      
      This adds a new hardware information table for mpic. This enables
      the mpic code to deal with mpic controllers with different register
      layouts and hardware behaviours.
      
      This introduces CONFIG_MPIC_WEIRD.  For boards with non standard mpic
      controllers, select CONFIG_MPIC_WEIRD and add its hardware information
      in the mpic_infos[] array.
      
      TSI108/109 PIC takes the first index of weird hardware information
      table.  :)  The table can be extended. The Tsi108/109 PIC looks like
      standard OpenPIC but, in fact, is different in register mapping and
      behavior.
      
      The patch does not affect the behavior of standard mpic.  If
      CONFIG_MPIC_WEIRD is not defined, the code is essentially identical to
      the current code.
      
      [benh@kernel.crashing.org:
      This patch is a slightly cleaned up version of Zang Roy's support for
      the TSI108 MPIC variant. It also fixes up MPC7448_hpc2 to use the new
      version of the type macros and changes the way MPIC is selected in
      Kconfig to better match what is done for other system devices.
      ]
      
      Signed-off-by: default avatarRoy Zang <tie-fei.zang@freescale.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      7233593b
    • Kim Phillips's avatar
      [POWERPC] modify mpc83xx platforms to use new IRQ layer · f1f17716
      Kim Phillips authored
      
      
      This fixes MPC834x MDS (formerly SYS) and ITX platform code to get IRQ data (including PCI) from the device tree, and to use the new IPIC code.
      
      renamed defconfig (sys -> mds), left one redundant NULL assignment in mpc83xx_pcibios_fixup to keep the compiler happy.
      
      Signed-off-by: default avatarKim Phillips <kim.phillips@freescale.com>
      Signed-off-by: default avatarLi Yang <leoli@freescale.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      f1f17716
  7. Aug 25, 2006
  8. Aug 23, 2006
  9. Aug 08, 2006
    • Michael Neuling's avatar
      [POWERPC] Implement SLB shadow buffer · 2f6093c8
      Michael Neuling authored
      
      
      This adds a shadow buffer for the SLBs and regsiters it with PHYP.
      Only the bolted SLB entries (top 3) are shadowed.
      
      The SLB shadow buffer tells the hypervisor what the kernel needs to
      have in the SLB for the kernel to be able to function.  The hypervisor
      can use this information to speed up partition context switches.
      
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      2f6093c8
    • Jon Loeliger's avatar
      [POWERPC] Rewrite the PPC 86xx IRQ handling to use Flat Device Tree · 919fede6
      Jon Loeliger authored
      
      
      IRQ setup now comes from the Flat Device Tree and use the new generic
      IRQ code.  Fixed the fsl_soc.c IRQ OF interrupt node parsing.
      Removed some unused MPC86xx macro definition.
      
      Signed-off-by: default avatarZhang Wei <wei.zhang@freescale.com>
      Signed-off-by: default avatarJon Loeliger <jdl@freescale.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      919fede6
    • Haren Myneni's avatar
      [POWERPC] Fix might-sleep warning on removing cpus · 81b73dd9
      Haren Myneni authored
      
      
      Noticing the following might_sleep warning (dump_stack()) during kdump
      testing when CONFIG_DEBUG_SPINLOCK_SLEEP is enabled. All secondary CPUs
      will be calling rtas_set_indicator with interrupts disabled to remove
      them from global interrupt queue.
      
      BUG: sleeping function called from invalid context at
      arch/powerpc/kernel/rtas.c:463
      in_atomic():1, irqs_disabled():1
      Call Trace:
      [C00000000FFFB970] [C000000000010234] .show_stack+0x68/0x1b0 (unreliable)
      [C00000000FFFBA10] [C000000000059354] .__might_sleep+0xd8/0xf4
      [C00000000FFFBA90] [C00000000001D1BC] .rtas_busy_delay+0x20/0x5c
      [C00000000FFFBB20] [C00000000001D8A8] .rtas_set_indicator+0x6c/0xcc
      [C00000000FFFBBC0] [C000000000048BF4] .xics_teardown_cpu+0x118/0x134
      [C00000000FFFBC40] [C00000000004539C]
      .pseries_kexec_cpu_down_xics+0x74/0x8c
      [C00000000FFFBCC0] [C00000000002DF08] .crash_ipi_callback+0x15c/0x188
      [C00000000FFFBD50] [C0000000000296EC] .smp_message_recv+0x84/0xdc
      [C00000000FFFBDC0] [C000000000048E08] .xics_ipi_dispatch+0xf0/0x130
      [C00000000FFFBE50] [C00000000009EF10] .handle_IRQ_event+0x7c/0xf8
      [C00000000FFFBF00] [C0000000000A0A14] .handle_percpu_irq+0x90/0x10c
      [C00000000FFFBF90] [C00000000002659C] .call_handle_irq+0x1c/0x2c
      [C00000000058B9C0] [C00000000000CA10] .do_IRQ+0xf4/0x1a4
      [C00000000058BA50] [C0000000000044EC] hardware_interrupt_entry+0xc/0x10
       --- Exception: 501 at .plpar_hcall_norets+0x14/0x1c
         LR = .pseries_dedicated_idle_sleep+0x190/0x1d4
      [C00000000058BD40] [C00000000058BDE0] 0xc00000000058bde0 (unreliable)
      [C00000000058BDF0] [C00000000001270C] .cpu_idle+0x10c/0x1e0
      [C00000000058BE70] [C000000000009274] .rest_init+0x44/0x5c
      
      To fix this issue, rtas_set_indicator_fast() is added so that will not
      wait for RTAS 'busy' delay and this new function is used for kdump (in
      xics_teardown_cpu()) and for CPU hotplug ( xics_migrate_irqs_away() and
      xics_setup_cpu()).
      
      Note that the platform architecture spec says that set-indicator
      on the indicator we're using here is not permitted to return the
      busy or extended busy status codes.
      
      Signed-off-by: default avatarHaren Myneni <haren@us.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      81b73dd9
    • Sonny Rao's avatar
      [POWERPC] fix PMU initialization on pseries lpar · dcc42f48
      Sonny Rao authored
      
      
      We should not be calling power4_enable_pmcs() in
      pseries_lpar_enable_pmcs(); just doing the hypercall is sufficient.
      Prior to 2.6.15 we did not call power4_enable_pmcs() for an lpar.
      
      power4_enable_pmcs() tries to read the hid0 register which is no
      longer legal for an lpar in newer Power processors.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      dcc42f48
  10. Aug 01, 2006
    • Anton Blanchard's avatar
      [POWERPC] clean up pseries hcall interfaces · b9377ffc
      Anton Blanchard authored
      
      
      Our pseries hcall interfaces are out of control:
      
      	plpar_hcall_norets
      	plpar_hcall
      	plpar_hcall_8arg_2ret
      	plpar_hcall_4out
      	plpar_hcall_7arg_7ret
      	plpar_hcall_9arg_9ret
      
      Create 3 interfaces to cover all cases:
      
      	plpar_hcall_norets:	7 arguments no returns
      	plpar_hcall:		6 arguments 4 returns
      	plpar_hcall9:		9 arguments 9 returns
      
      There are only 2 cases in the kernel that need plpar_hcall9, hopefully
      we can keep it that way.
      
      Pass in a buffer to stash return parameters so we avoid the &dummy1,
      &dummy2 madness.
      
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      --
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      b9377ffc
  11. Jul 31, 2006
  12. Jul 28, 2006
Loading