1. 29 6月, 2007 2 次提交
  2. 28 6月, 2007 25 次提交
  3. 25 6月, 2007 4 次提交
    • S
      [POWERPC] Fix Kexec/Kdump for power6 · b7abc5c5
      Sachin P. Sant 提交于
      On Power machines supporting VRMA, Kexec/Kdump does not work.
      VRMA (virtual real-mode area) means that accesses with IR/DR = 0
      (i.e. the MMU "off") actually still go through the hash table,
      using entries put there by the hypervisor.
      
      This means that when we clear out the hash table on kexec, we need to
      make sure these entries are left untouched.
      
      This also adds plpar_pte_read_raw() on the lines of
      plpar_pte_remove_raw().
      
      Signed-off-by : Sachin Sant <sachinp@in.ibm.com>
      Signed-off-by : Mohan Kumar M <mohan@in.ibm.com>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b7abc5c5
    • M
      [POWERPC] Fix interrupt distribution in ppc970 · 7ccb4a66
      Mohan Kumar M 提交于
      In some of the PPC970 based systems, interrupt would be distributed to
      offline cpus also even when booted with "maxcpus=1".  So check whether
      cpu online map and cpu present map are equal or not.  If they are equal
      default_distrib_server is used as interrupt server otherwise boot cpu
      (default_server) used as interrupt server.
      
      In addition to this, if an interrupt is assigned to a specific cpu (ie
      smp affinity) and if that cpu is not online, the earlier code used to
      return the default_distrib_server as interrupt server.  This
      introduces an additional parameter to the get_irq function, called
      strict_check.  Based on this parameter, if the cpu is not online
      either default_distrib_server or -1 is returned.
      Signed-off-by: NMohan Kumar M <mohan@in.ibm.com>
      Cc: Michael Ellerman <michael@ellerman.id.au>
      Acked-by: NMilton Miller <miltonm@bga.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7ccb4a66
    • M
      [POWERPC] Update holly to use new dts wrapping feature · b0e80206
      Mark A. Greer 提交于
      The holly support currently has separate rules to wrap its device tree
      with its zImage.  This can now be done automatically without the extra
      rules so update holly support to use the automatic feature.
      Signed-off-by: NMark A. Greer <mgreer@mista.com>
      Acked-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b0e80206
    • O
      [POWERPC] pasemi: Electra IDE/pata_platform glue · 8fa336d8
      Olof Johansson 提交于
      Glue code to hook up the pata_platform on the PA Semi Electra eval board.
      CFE sets up device tree entries for the IDE interface, with device type
      'ide' and compatible field 'electra-ide'.
      
      We unfortunately need to modify the resources before calling the generic
      platform driver, since the device tree only has one register window in
      it and the driver expects two.  Adding this as an of_platform driver
      instead doesn't give us any benefit, it just adds one more layer of
      register/probe functions.
      
      Since CONFIG_PATA_PLATFORM depends on CONFIG_EMBEDDED, add that as a
      default for PPC_PASEMI.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8fa336d8
  4. 14 6月, 2007 9 次提交
    • D
      [POWERPC] Kill typedef-ed structs for hash PTEs and BATs · 8e561e7e
      David Gibson 提交于
      Using typedefs to rename structure types if frowned on by CodingStyle.
      However, we do so for the hash PTE structure on both ppc32 (where it's
      called "PTE") and ppc64 (where it's called "hpte_t").  On ppc32 we
      also have such a typedef for the BATs ("BAT").
      
      This removes this unhelpful use of typedefs, in the process
      bringing ppc32 and ppc64 closer together, by using the name "struct
      hash_pte" in both cases.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8e561e7e
    • D
      [POWERPC] Remove the dregs of APUS support from arch/powerpc · f21f49ea
      David Gibson 提交于
      APUS (the Amiga Power-Up System) is not supported under arch/powerpc
      and it's unlikely it ever will be.  Therefore, this patch removes the
      fragments of APUS support code from arch/powerpc which have been
      copied from arch/ppc.
      
      A few APUS references are left in asm-powerpc in .h files which are
      still used from arch/ppc.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f21f49ea
    • A
      [POWERPC] Split out CPU specific options into a new Kconfig file · a0ae9c7c
      Arnd Bergmann 提交于
      A lot of the options in arch/powerpc/Kconfig deal with the CPU menu,
      and my next patches add more to them.  Moving them to a new
      arch/powerpc/platforms/Kconfig.cputype file makes it easier to
      follow.
      
      There are no functional changes in here.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a0ae9c7c
    • J
      [POWERPC] Donate idle CPU cycles on dedicated partitions · d8c391a5
      Jake Moilanen 提交于
      A Power6 can give up CPU cycles on a dedicated CPU (as opposed to a
      shared CPU) to other shared processors if the administrator asks for it
      (via the HMC).
      
      This enables that to work properly on P6.
      
      This just involves setting a bit in the CAS structure as well as the
      VPA.  To donate cycles, a CPU has to have all SMT threads idle and
      have the donate bit set in the VPA.  Then call H_CEDE.
      
      The reason why shared processors just aren't used is because dedicated
      CPUs are guaranteed an actual processor, yet the system is still able to
      increase the capacity of the shared CPU pool.
      
      Also rename the VPA's cpuctls_task_attrs field to a more accurate name.
      Signed-off-by: NJake Moilanen <moilanen@austin.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d8c391a5
    • B
      [POWERPC] spufs: Add a "capabilities" file to spu contexts · cbe709c1
      Benjamin Herrenschmidt 提交于
      This adds a "capabilities" file to spu contexts consisting of a
      list of linefeed separated capability names. The current exposed
      capabilities are "sched" (the context is scheduleable) and
      "step" (the context supports single stepping).
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      cbe709c1
    • B
      [POWERPC] spufs: Add support for SPU single stepping · 05169237
      Benjamin Herrenschmidt 提交于
      This patch adds support for SPU single stepping. The single
      step bit is set in the SPU when the current process is
      being single-stepped via ptrace. The spu then stops and
      returns with a specific flag set and the syscall exit code
      will generate the SIGTRAP.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Acked-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      05169237
    • B
      [POWERPC] Rewrite IO allocation & mapping on powerpc64 · 3d5134ee
      Benjamin Herrenschmidt 提交于
      This rewrites pretty much from scratch the handling of MMIO and PIO
      space allocations on powerpc64.  The main goals are:
      
       - Get rid of imalloc and use more common code where possible
       - Simplify the current mess so that PIO space is allocated and
         mapped in a single place for PCI bridges
       - Handle allocation constraints of PIO for all bridges including
         hot plugged ones within the 2GB space reserved for IO ports,
         so that devices on hotplugged busses will now work with drivers
         that assume IO ports fit in an int.
       - Cleanup and separate tracking of the ISA space in the reserved
         low 64K of IO space. No ISA -> Nothing mapped there.
      
      I booted a cell blade with IDE on PIO and MMIO and a dual G5 so
      far, that's it :-)
      
      With this patch, all allocations are done using the code in
      mm/vmalloc.c, though we use the low level __get_vm_area with
      explicit start/stop constraints in order to manage separate
      areas for vmalloc/vmap, ioremap, and PCI IOs.
      
      This greatly simplifies a lot of things, as you can see in the
      diffstat of that patch :-)
      
      A new pair of functions pcibios_map/unmap_io_space() now replace
      all of the previous code that used to manipulate PCI IOs space.
      The allocation is done at mapping time, which is now called from
      scan_phb's, just before the devices are probed (instead of after,
      which is by itself a bug fix). The only other caller is the PCI
      hotplug code for hot adding PCI-PCI bridges (slots).
      
      imalloc is gone, as is the "sub-allocation" thing, but I do beleive
      that hotplug should still work in the sense that the space allocation
      is always done by the PHB, but if you unmap a child bus of this PHB
      (which seems to be possible), then the code should properly tear
      down all the HPTE mappings for that area of the PHB allocated IO space.
      
      I now always reserve the first 64K of IO space for the bridge with
      the ISA bus on it. I have moved the code for tracking ISA in a separate
      file which should also make it smarter if we ever are capable of
      hot unplugging or re-plugging an ISA bridge.
      
      This should have a side effect on platforms like powermac where VGA IOs
      will no longer work. This is done on purpose though as they would have
      worked semi-randomly before. The idea at this point is to isolate drivers
      that might need to access those and fix them by providing a proper
      function to obtain an offset to the legacy IOs of a given bus.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      3d5134ee
    • L
      [POWERPC] Tweak EEH copyright info · 3c8c90ab
      Linas Vepstas 提交于
      Twiddle the copyright notices. Per current guidelines, the use
      of the (C) or (c) in source code is deprecated.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      
      ----
       arch/powerpc/platforms/pseries/eeh.c        |    6 +++++-
       arch/powerpc/platforms/pseries/eeh_cache.c  |    3 ++-
       arch/powerpc/platforms/pseries/eeh_driver.c |    6 +++---
       3 files changed, 10 insertions(+), 5 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      3c8c90ab
    • L
      [POWERPC] Remove dead EEH code · 42253a68
      Linas Vepstas 提交于
      Remove some dead code.
      Signed-off-by: NLinas Vepstas <linas@austin.ibm.com>
      
      ----
       arch/powerpc/platforms/pseries/eeh.c |    4 +---
       1 file changed, 1 insertion(+), 3 deletions(-)
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      42253a68