17 Sep, 2007

1 commit

  • Current status of APUS:
    - arch/powerpc/: removed in 2.6.23
    - arch/ppc/: marked BROKEN since 2 years

    This therefore removes the remaining parts of APUS support from
    arch/ppc, include/asm-ppc, arch/powerpc and include/asm-powerpc.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Paul Mackerras

    Adrian Bunk
     

13 Sep, 2007

1 commit


10 Jul, 2007

1 commit

  • Oprofile enhanced instruction sampling support.

    When performing instruction sampling, the mmcra[SLOT] field can be used to
    more accurately identify the address of the sampled instruction.

    Tested on power4, js20, power5 and power5+.

    Signed-off-by: Will Schmidt
    cc: Maynard Johnson
    Signed-off-by: Paul Mackerras

    will schmidt
     

24 Apr, 2007

1 commit


07 Feb, 2007

3 commits


09 Dec, 2006

2 commits

  • Now we have a SPURR cpu feature bit, we can export it to userspace in
    sysfs.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     
  • POWER6 adds a new SPR, the data stream control register (DSCR). It can
    be used to adjust how agressive the prefetch mechanisms are.

    Its possible we may want to context switch this, but for now just export
    it to userspace via sysfs so we can adjust it.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     

25 Oct, 2006

1 commit

  • The Cell CPU timebase has an erratum. When reading the entire 64 bits
    of the timebase with one mftb instruction, there is a handful of cycles
    window during which one might read a value with the low order 32 bits
    already reset to 0x00000000 but the high order bits not yet incremeted
    by one. This fixes it by reading the timebase again until the low order
    32 bits is no longer 0. That might introduce occasional latencies if
    hitting mftb just at the wrong time, but no more than 70ns on a cell
    blade, and that was considered acceptable.

    Signed-off-by: Benjamin Herrenschmidt
    Acked-by: Olof Johansson
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

23 Oct, 2006

1 commit

  • 970GX cputable entry from Steve Winiecki.

    Signed-off-by: Jake Moilanen

    arch/powerpc/kernel/cputable.c | 15 +++++++++++++++
    arch/powerpc/oprofile/op_model_power4.c | 2 +-
    include/asm-powerpc/reg.h | 1 +
    3 files changed, 17 insertions(+), 1 deletion(-)
    Signed-off-by: Paul Mackerras

    Jake Moilanen
     

06 Oct, 2006

1 commit

  • David Woodhouse points out that the comment accompanying the MTFSF_L
    macro is misleading. We should make it clear that the L bit is ignored
    on older CPUS, not the entire instruction.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     

13 Sep, 2006

1 commit


21 Jun, 2006

1 commit

  • This is a first version of support for the Cell BE "Reliability,
    Availability and Serviceability" features.

    It doesn't yet handle some of the RAS interrupts (the ones described in
    iic_is/iic_irr), I'm still working on a proper way to expose these. They
    are essentially a cascaded controller by themselves (sic !) though I may
    just handle them locally to the iic driver. I need also to sync with
    David Erb on the way he hooked in the performance monitor interrupt.

    So that's all for 2.6.17 and I'll do more work on that with my rework of
    the powerpc interrupt layer that I'm hacking on at the moment.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     

15 Jun, 2006

2 commits


09 Jun, 2006

1 commit


19 May, 2006

1 commit


27 Mar, 2006

1 commit

  • This unifies the 32-bit (ARCH=ppc and ARCH=powerpc) and 64-bit idle
    loops. It brings over the concept of having a ppc_md.power_save
    function from 32-bit to ARCH=powerpc, which lets us get rid of
    native_idle(). With this we will also be able to simplify the idle
    handling for pSeries and cell.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

24 Feb, 2006

1 commit

  • The runlatch SPR can take a lot of time to write. My original runlatch
    code would set it on every exception entry even though most of the time
    this was not required. It would also continually set it in the idle
    loop, which is an issue on an SMT capable processor.

    Now we cache the runlatch value in a threadinfo bit, and only check for
    it in decrementer and hardware interrupt exceptions as well as the idle
    loop. Boot on POWER3, POWER5 and iseries, and compile tested on pmac32.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     

09 Jan, 2006

2 commits

  • This patch enables support for pause(0) power management state
    for the Cell Broadband Processor, which is import for power efficient
    operation. The pervasive infrastructure will in the future enable
    us to introduce more functionality specific to the Cell's
    pervasive unit.

    From: Maximino Aguilar
    Signed-off-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Arnd Bergmann
     
  • This patch adds oprofile support for the 7450 and all its multitudinous
    derivatives.

    * Added 7450 (and derivatives) support for oprofile
    * Changed e500 cputable to have oprofile model and cpu_type fields
    * Added support for classic 32-bit performance monitor interrupt
    * Cleaned up common powerpc oprofile code to be as common as possible
    * Cleaned up oprofile_impl.h to reflect 32 bit classic code
    * Added 32-bit MMCRx bitfield definitions and SPR numbers

    Signed-off-by: Andy Fleming
    Signed-off-by: Paul Mackerras

    Andy Fleming
     

10 Nov, 2005

2 commits

  • 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: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • 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: David Gibson
    Signed-off-by: Paul Mackerras

    David Gibson
     

08 Nov, 2005

1 commit


28 Oct, 2005

2 commits

  • The merged version follows the ppc64 version pretty closely mostly,
    and in fact ARCH=ppc64 now uses the arch/powerpc/xmon version.
    The main difference for ppc64 is that the 'p' command to call
    show_state (which was always pretty dodgy) has been replaced by
    the ppc32 'p' command, which calls a given procedure (so in fact
    the old 'p' command behaviour can be achieved with 'p $show_state').

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • The sc instruction emulation can't be done the same way on 32-bit
    as 64-bit yet, but this should work OK.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

26 Oct, 2005

1 commit


11 Oct, 2005

1 commit

  • This fixes up a variety of minor problems in compiling with ARCH=ppc
    arising from using the merged versions of various header files.
    A lot of the changes are just adding #include to
    files that use ppc_md or smp_ops_t.

    This also arranges for us to use semaphore.c, vecemu.c, vector.S and
    fpu.S from arch/powerpc/kernel when compiling with ARCH=ppc.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

10 Oct, 2005

1 commit

  • This adds register definitions from the ppc64 processor.h to reg.h,
    and makes a single merged processor.h. I moved __is_processor from
    the ppc64 system.h to the merged reg.h along with the PVR register
    constants.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     

27 Sep, 2005

1 commit

  • Complete moving arch/ppc64/kernel/mpic.h,
    include/asm-ppc/reg.h, include/asm-ppc64/kdebug.h
    and include/asm-ppc64/kprobes.h
    Add arch/powerpc/platforms/Makefile and use it from
    arch/powerpc/Makefile
    Introduce OLDARCH temporarily so we can point back to
    the originating architecture

    Signed-off-by: Stephen Rothwell

    Stephen Rothwell
     

26 Sep, 2005

1 commit

  • This creates the directory structure under arch/powerpc and a bunch
    of Kconfig files. It does a first-cut merge of arch/powerpc/mm,
    arch/powerpc/lib and arch/powerpc/platforms/powermac. This is enough
    to build a 32-bit powermac kernel with ARCH=powerpc.

    For now we are getting some unmerged files from arch/ppc/kernel and
    arch/ppc/syslib, or arch/ppc64/kernel. This makes some minor changes
    to files in those directories and files outside arch/powerpc.

    The boot directory is still not merged. That's going to be interesting.

    Signed-off-by: Paul Mackerras

    Paul Mackerras