1. 14 1月, 2006 12 次提交
    • P
      [PATCH] powerpc: Recognize /chaos bridge on old pmacs as PCI · d5f07900
      Paul Mackerras 提交于
      The first generation of PCI powermacs had a host bridge called /chaos
      which was for all intents and purposes a PCI host bridge, but has a
      device_type of "vci" in the device tree (presumably it's not really
      PCI at the hardware level or something).
      
      The OF parsing stuff in arch/powerpc/kernel/prom_parse.c currently
      doesn't recognize it as a PCI bridge, which means that controlfb.c
      can't get its device addresses.
      
      This makes prom_parse.c recognize a device_type of "vci" as indicating
      a PCI host bridge.  With this, controlfb works again.
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      d5f07900
    • P
      powerpc: Avoid unaligned loads and stores in boot memcpy code · b4e7de0f
      Paul Mackerras 提交于
      The 601 processor will generate an alignment exception for accesses
      which cross a page boundary.  In the boot wrapper code, OF is still
      handling all exceptions, and it doesn't have an alignment exception
      handler that emulates the instruction and continues.
      
      This changes the memcpy and memmove routines in the boot wrapper to
      avoid doing unaligned accesses.  If the source and destination are
      misaligned with respect to each other, we just copy one byte at a
      time.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b4e7de0f
    • P
      powerpc: Make COFF zImages for old 32-bit powermacs · 66a45dd3
      Paul Mackerras 提交于
      This adds code to build zImage.coff and/or zImage.initrd.coff when
      CONFIG_PPC32 and CONFIG_PPC_PMAC are defined.  It also restructures
      the OF client code and adds some workarounds for OF quirks on the
      older machines.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      66a45dd3
    • D
      [PATCH] powerpc: Make CHRP build again · 575e3216
      David Woodhouse 提交于
      This makes CHRP build again, although it's untested because my Pegasos
      is currently in pieces.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      575e3216
    • D
      [PATCH] powerpc: special-case ibm,suspend-me RTAS call · 91dc182c
      Dave C Boutcher 提交于
      Handle the ibm,suspend-me RTAS call specially.  It needs
      to be wrapped in a set of synchronization hypervisor calls
      (H_Join).  When the H_Join calls are made on all CPUs, the
      intent is that only one will return with H_Continue, meaning
      that he is the "last man standing".  That CPU then issues the
      ibm,suspend-me call.  What is interesting, of course, is that
      the CPU running when the rtas syscall is made, may NOT be the
      CPU that ultimately executes the ibm,suspend-me rtas call.
      Signed-off-by: NDave Boutcher <sleddog@us.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      91dc182c
    • P
      ppc: Remove duplicate export of get_wchan · 91f62a24
      Paul Mackerras 提交于
      The arch/powerpc version of process.c exports get_wchan itself.  When
      I moved ARCH=ppc over to using arch/powerpc/kernel/process.c the
      get_wchan export in arch/ppc/kernel/ppc_ksyms.c became redundant, so
      remove it.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      (cherry picked from 9871166ad692121d6b944159ef3f053570158ea8 commit)
      91f62a24
    • M
      [PATCH] powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults · 8f069b1a
      Marcelo Tosatti 提交于
      The following implements support for instantiation of 8MB D-TLB
      entries for the kernel direct virtual mapping on 8xx, thus reducing TLB
      space consumed for the kernel.
      
      Test used: writing 40MB from /dev/zero to file in ext2fs over 
      RAMDISK.
      
      $ time dd if=/dev/zero of=file bs=4k count=10000 
      
      VANILLA			8MB kernel data pages
      
      real    0m11.485s	real    0m11.267s
      user    0m0.218s        user    0m0.250s
      sys     0m8.939s	sys     0m9.108s
      
      real    0m11.518s	real    0m10.978s
      user    0m0.203s 	user    0m0.222s
      sys     0m9.585s	sys     0m9.138s
      
      real    0m11.554s	real    0m10.967s
      user    0m0.228s    	user    0m0.222s
      sys     0m9.497s	sys     0m9.127s
      
      real    0m11.633s	real	0m11.286s
      user    0m0.214s	user    0m0.196s
      sys     0m9.529s	sys     0m9.134s
      
      and averages for both:
      
      real	11.54750	real 11.12450
      
      Which is a 3.6% improvement in execution time. More improvement is
      expected for loads with larger kernel data footprint (real workloads).
      Signed-off-by: NMarcelo Tosatti <marcelo.tosatti@cyclades.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8f069b1a
    • K
      [PATCH] powerpc: Add MPC834x SYS board to arch/powerpc · 7d13d21a
      Kumar Gala 提交于
      Add the first MPC83xx board that uses a flat device tree to arch/powerpc.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7d13d21a
    • K
      [PATCH] powerpc: Add FSL SOC library and setup code · eed32001
      Kumar Gala 提交于
      Parse the flat device tree for devices on Freescale SOC's that we know
      about (gianfar, gianfar_mdio, i2c, mpc83xx_wdt).  We need to setup
      platform devices and platform data for these devices to match arch/ppc
      usage.
      
      Also add a helper function (get_immrbase) that reports the base
      address of the MMIO registers on the SOC.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      eed32001
    • K
      [PATCH] powerpc: Allow for ppc_md restart, power_off, and halt to be NULL · b8e383d5
      Kumar Gala 提交于
      On a number of embedded reference boards there isn't always a
      way to reset, power_off, or halt the board.  Rather than having
      each board implement a spin loop just let the generic code do
      it.
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      b8e383d5
    • A
      [PATCH] powerpc: oprofile cpu type names clash with other code · 7a45fb19
      Andy Whitcroft 提交于
      In 2.6.15-git6 a change was commited in the oprofile support in
      the powerpc architecture.  It introduced the powerpc_oprofile_type
      which contains the define G4.  This causes a name clash with the
      existing wacom usb tablet driver.
      
            CC [M]  drivers/usb/input/wacom.o
          drivers/usb/input/wacom.c:98: error: conflicting types for `G4'
          include/asm/cputable.h:37: error: previous declaration of `G4'
            CC [M]  drivers/usb/mon/mon_text.o
          make[3]: *** [drivers/usb/input/wacom.o] Error 1
          make[2]: *** [drivers/usb/input] Error 2
      
      The elements of an enum declared in global scope are effectivly
      global identifiers themselves.  As such we need to ensure the names
      are unique.  This patch updates the later oprofile support to use
      unique names.
      Signed-off-by: NAndy Whitcroft <apw@shadowen.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      7a45fb19
    • P
      powerpc: Provide a suitable AT_PLATFORM value · 80f15dc7
      Paul Mackerras 提交于
      The glibc folks want to use AT_PLATFORM to select between possible
      alternative versions of shared libraries.  This commit makes the kernel
      supply an AT_PLATFORM string that indicates what class of processor
      we are running on.  Processors with the same set of user-level
      instructions and roughly the same instruction scheduling characteristics
      are given the same AT_PLATFORM value; for example, 821, 823 and 860
      are all reported as "ppc823", and 7447, 7447A, 7448, 7450, 7451, 7455
      are all called "ppc7450".
      
      The intention is that the AT_PLATFORM values match the values that
      gcc accepts for the -mcpu= option.  For values which are numeric
      (e.g. -mcpu=750), "ppc" has been prepended.
      
      This also adds a PPC_FEATURE_BOOKE bit to the AT_HWCAP value and sets
      it for the 440 family and the Freescale 85xx family.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      80f15dc7
  2. 13 1月, 2006 28 次提交