Skip to content
Snippets Groups Projects
  1. Nov 11, 2005
  2. Nov 10, 2005
    • Paul Mackerras's avatar
      powerpc: Move some extern declarations from C code into headers · 49b09853
      Paul Mackerras authored
      
      This also make klimit have the same type on 32-bit as on 64-bit,
      namely unsigned long, and defines and initializes it in one place.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      49b09853
    • David Gibson's avatar
      [PATCH] powerpc: Move more ppc64 files with no ppc32 equivalent to powerpc · d3d2176a
      David Gibson authored
      
      This patch moves a bunch more files from arch/ppc64 and
      include/asm-ppc64 which have no equivalents in ppc32 code into
      arch/powerpc and include/asm-powerpc.  The file affected are:
      	hvcall.h
      	proc_ppc64.c
      	sysfs.c
      	lparcfg.c
      	rtas_pci.c
      
      The only changes apart from the move and corresponding Makefile
      changes are:
      	- #ifndef/#define in includes updated to _ASM_POWERPC_ form
      	- trailing whitespace removed
      	- comments giving full paths removed
      
      Built and booted on POWER5 LPAR (ARCH=powerpc and ARCH=ppc64), built
      for 32-bit powermac (ARCH=powerpc).
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      d3d2176a
    • Stephen Rothwell's avatar
    • Paul Mackerras's avatar
      powerpc: Add user CPU features for POWER4, POWER5, POWER5+ and Cell. · a7ddc5e8
      Paul Mackerras authored
      
      This is at the request of the glibc folks, who want to use these bits
      to select libraries optimized for the microarchitecture and new
      instructions in these processors.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a7ddc5e8
    • Paul Mackerras's avatar
      powerpc: Fix SMP time initialization problem · cbe62e2b
      Paul Mackerras authored
      
      We were getting the last_jiffy per-cpu variable set ahead of the current
      timebase in smp_space_timers on SMP machines.  This caused the loop in
      timer_interrupt to loop virtually forever, since tb_ticks_since assumes
      that it will never be called with the timebase behind the last_jiffy
      value.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      cbe62e2b
    • Paul Mackerras's avatar
      powerpc: Fixes for 32-bit powermac SMP · 094fe2e7
      Paul Mackerras authored
      
      A couple of bugs crept in with the merge of smp.c...
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      094fe2e7
    • Paul Mackerras's avatar
      [PATCH] powerpc: merge code values for identifying platforms · 799d6046
      Paul Mackerras authored
      
      This patch merges platform codes.  systemcfg->platform is no longer used,
      systemcfg use in general is deprecated as much as possible (and renamed
      _systemcfg before it gets completely moved elsewhere in a future patch),
      _machine is now used on ppc64 along as ppc32.  Platform codes aren't gone
      yet but we are getting a step closer. A bunch of asm code in head[_64].S
      is also turned into C code.
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      799d6046
    • David Gibson's avatar
      [PATCH] powerpc: Consolidate asm compatibility macros · 3ddfbcf1
      David Gibson authored
      
      This patch consolidates macros used to generate assembly for
      compatibility across different CPUs or configs.  A new header,
      asm-powerpc/asm-compat.h contains the main compatibility macros.  It
      uses some preprocessor magic to make the macros suitable both for use
      in .S files, and in inline asm in .c files.  Headers (bitops.h,
      uaccess.h, atomic.h, bug.h) which had their own such compatibility
      macros are changed to use asm-compat.h.
      
      ppc_asm.h is now for use in .S files *only*, and a #error enforces
      that.  As such, we're a lot more careless about namespace pollution
      here than in asm-compat.h.
      
      While we're at it, this patch adds a call to the PPC405_ERR77 macro in
      futex.h which should have had it already, but didn't.
      
      Built and booted on pSeries, Maple and iSeries (ARCH=powerpc).  Built
      for 32-bit powermac (ARCH=powerpc) and Walnut (ARCH=ppc).
      
      Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      3ddfbcf1
    • David Gibson's avatar
      [PATCH] powerpc: Merge cacheflush.h and cache.h · 26ef5c09
      David Gibson authored
      
      The ppc32 and ppc64 versions of cacheflush.h were almost identical.
      The two versions of cache.h are fairly similar, except for a bunch of
      register definitions in the ppc32 version which probably belong better
      elsewhere.  This patch, therefore, merges both headers.  Notable
      points:
      	- there are several functions in cacheflush.h which exist only
      on ppc32 or only on ppc64.  These are handled by #ifdef for now, but
      these should probably be consolidated, along with the actual code
      behind them later.
      	- Confusingly, both ppc32 and ppc64 have a
      flush_dcache_range(), but they're subtly different: it uses dcbf on
      ppc32 and dcbst on ppc64, ppc64 has a flush_inval_dcache_range() which
      uses dcbf.  These too should be merged and consolidated later.
      	- Also flush_dcache_range() was defined in cacheflush.h on
      ppc64, and in cache.h on ppc32.  In the merged version it's in
      cacheflush.h
      	- On ppc32 flush_icache_range() is a normal function from
      misc.S.  On ppc64, it was wrapper, testing a feature bit before
      calling __flush_icache_range() which does the actual flush.  This
      patch takes the ppc64 approach, which amounts to no change on ppc32,
      since CPU_FTR_COHERENT_ICACHE will never be set there, but does mean
      renaming flush_icache_range() to __flush_icache_range() in
      arch/ppc/kernel/misc.S and arch/powerpc/kernel/misc_32.S
      	- The PReP register info from asm-ppc/cache.h has moved to
      arch/ppc/platforms/prep_setup.c
      	- The 8xx register info from asm-ppc/cache.h has moved to a
      new asm-powerpc/reg_8xx.h, included from reg.h
      	- flush_dcache_all() was defined on ppc32 (only), but was
      never called (although it was exported).  Thus this patch removes it
      from cacheflush.h and from ARCH=powerpc (misc_32.S) entirely.  It's
      left in ARCH=ppc for now, with the prototype moved to ppc_ksyms.c.
      
      Built for Walnut (ARCH=ppc), 32-bit multiplatform (pmac, CHRP and PReP
      ARCH=ppc, pmac and CHRP ARCH=powerpc).  Built and booted on POWER5
      LPAR (ARCH=powerpc and ARCH=ppc64).
      
      Built for 32-bit powermac (ARCH=ppc and ARCH=powerpc).  Built and
      booted on POWER5 LPAR (ARCH=powerpc and ARCH=ppc64).  Built and booted
      on G5 (ARCH=powerpc)
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      26ef5c09
    • Paul Mackerras's avatar
      ppc/powerpc: workarounds for old Open Firmware versions · a23414be
      Paul Mackerras authored
      
      This adds code to work around some problems with old versions of
      Open Firmware, such as on the early powermacs (7500 etc.) and the
      "Longtrail" CHRP machine.  On these machines we have to claim
      the physical and virtual address ranges explicitly when claiming
      memory and then set up a V->P mapping.
      
      The Longtrail has more problems: setprop doesn't work, and we have
      to set an "allow-reclaim" variable to 0 in order to get claim on
      physical memory ranges to fail if the memory is already claimed.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a23414be
    • David Gibson's avatar
      [PATCH] powerpc: Move various ppc64 files with no ppc32 equivalent to powerpc · 8882a4da
      David Gibson authored
      
      This patch moves a bunch of files from arch/ppc64 and
      include/asm-ppc64 which have no equivalents in ppc32 code into
      arch/powerpc and include/asm-powerpc.  The file affected are:
      	abs_addr.h
      	compat.h
      	lppaca.h
      	paca.h
      	tce.h
      	cpu_setup_power4.S
      	ioctl32.c
      	firmware.c
      	pacaData.c
      
      The only changes apart from the move and corresponding Makefile
      changes are:
      	- #ifndef/#define in includes updated to _ASM_POWERPC_ form
      	- trailing whitespace removed
      	- comments giving full paths removed
      	- pacaData.c renamed paca.c to remove studlyCaps
      	- Misplaced { moved in lppaca.h
      
      Built and booted on POWER5 LPAR (ARCH=powerpc and ARCH=ppc64), built
      for 32-bit powermac (ARCH=powerpc).
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      8882a4da
    • David Gibson's avatar
      [PATCH] powerpc: Merge signal.h · c5ff7001
      David Gibson authored
      
      Having already merged the ppc and ppc64 versions of signal.c, this
      patch finishes the job by merging signal.h.  The two versions were
      almost identical already.  Notable changes:
      	- We use BITS_PER_LONG to correctly size sigset_t
      	- Remove some uneeded #includes and struct forward
      declarations.  This does mean adding an include to signal_32.c which
      relied on the indirect inclusion of sigcontext.h
      	- As the ppc64 version, the merged signal.h has prototypes for
      do_signal() and do_signal32().  Thus remove extra prototypes from
      ppc_ksyms.c which had them directly.
      
      Built and booted on POWER5 LPAR (ARCH=ppc64 and ARCH=powerpc).  Built
      for 32-bit powermac (ARCH=ppc and ARCH=powerpc) and Walnut (ARCH=ppc).
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      c5ff7001
    • Andrew Morton's avatar
      [PATCH] powerpc: sched fixups · e4d76e1c
      Andrew Morton authored
      
      - Re-add a hunk lost during merge: ppc64 is missing the hunk that disables
        preempt on the secondary CPUs before they call cpu_idle().
      
      - ppc's cpu_idle() had the need_resched() test wrong.
      
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Anton Blanchard <anton@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e4d76e1c
  3. Nov 09, 2005
  4. Nov 08, 2005
  5. Nov 07, 2005
  6. Nov 04, 2005
Loading