Please pull ppc64-2.6.git again

Paul Mackerras paulus at samba.org
Mon Sep 12 17:52:15 EST 2005


Linus,

There are a few more ppc64 updates in the ppc64-2.6.git tree:

rsync://rsync.kernel.org/pub/scm/linux/kernel/git/paulus/ppc64-2.6.git

There are a bunch of reasonably small updates from Anton, and one
larger one from me, which changes the way we set up the PCI tree (the
tree of pci_dev and pci_bus structs).  On powermacs and on partitioned
pSeries machines we now set up that tree from the Open Firmware device
tree rather than by probing.  On pSeries we do this because the
hypervisor doesn't let us touch the special PCI-PCI bridges.  On
powermacs we do this because the interrupt controller is in a PCI
device, and it has always worried me that we have a window during
probing where we can't get to the interrupt controller, and if an
interrupt came along at just the wrong moment it could cause a crash.

Thanks,
Paul.

 arch/ppc64/kernel/iSeries_pci.c    |    2 
 arch/ppc64/kernel/maple_pci.c      |   56 ++---
 arch/ppc64/kernel/pSeries_setup.c  |    8 +
 arch/ppc64/kernel/pSeries_smp.c    |   13 +
 arch/ppc64/kernel/pci.c            |  427 ++++++++++++++++++++++++++++--------
 arch/ppc64/kernel/pmac_pci.c       |   58 ++---
 arch/ppc64/kernel/pmac_setup.c     |   13 +
 arch/ppc64/kernel/process.c        |   34 +++
 arch/ppc64/kernel/ptrace.c         |   28 ++
 arch/ppc64/kernel/ptrace32.c       |   34 +++
 arch/ppc64/kernel/ras.c            |    2 
 arch/ppc64/kernel/setup.c          |   16 -
 arch/ppc64/kernel/signal.c         |    9 +
 arch/ppc64/kernel/signal32.c       |    8 +
 arch/ppc64/kernel/xics.c           |   44 ++--
 arch/ppc64/mm/fault.c              |   31 ++-
 arch/ppc64/xmon/privinst.h         |    1 
 arch/ppc64/xmon/xmon.c             |   20 --
 include/asm-powerpc/siginfo.h      |    8 +
 include/asm-ppc/ptrace.h           |    7 +
 include/asm-ppc64/hvcall.h         |    6 +
 include/asm-ppc64/machdep.h        |    5 
 include/asm-ppc64/pci-bridge.h     |    5 
 include/asm-ppc64/plpar_wrappers.h |    9 +
 include/asm-ppc64/processor.h      |    1 
 include/asm-ppc64/ptrace-common.h  |   92 ++++++++
 include/asm-ppc64/ptrace.h         |  128 ++++++-----
 include/asm-ppc64/system.h         |    3 
 28 files changed, 795 insertions(+), 273 deletions(-)

commit 2d909d08db7655a53f3afb31c7627c5c8c87142a
Author: Anton Blanchard <anton at samba.org>
Date:   Mon Sep 12 13:19:51 2005 +1000

    [PATCH] ppc64: Remove unused code
    
    ppc64_attention_msg and ppc64_dump_msg are not used so remove them.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 1ed2fd2d3a8d18f184ba2d06e0f03bff773f28ab
Author: Anton Blanchard <anton at samba.org>
Date:   Mon Sep 12 13:17:27 2005 +1000

    [PATCH] ppc64: Fix for missing start-cpu rtas token
    
    If the rtas start-cpu token doesnt exist then presume the cpu is already
    spinning. If it isnt we will catch it later on when the cpu doesnt
    respond.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 3238e9c9735cd5ebe30a59df1f8f5af2687344de
Author: Anton Blanchard <anton at samba.org>
Date:   Mon Sep 12 13:14:26 2005 +1000

    [PATCH] ppc64: indent pci code
    
    Fix up some badly indented code.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 26370322d8e3504db61cb8d438a9fca3b87ac0db
Author: Anton Blanchard <anton at samba.org>
Date:   Mon Sep 12 13:12:11 2005 +1000

    [PATCH] ppc64: xics cleanup
    
    A few xics cleanups:
    
    - Make some things static.
    - Be more consistent with error printing - interrupts are unsigned,
      error values are signed.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit fd9648dff6f9797ecc509bcd181706a274dc074d
Author: Anton Blanchard <anton at samba.org>
Date:   Sat Sep 10 16:01:11 2005 +1000

    [PATCH] ppc64: Add ptrace data breakpoint support
    
    Add hardware data breakpoint support.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit a94d308513bdb2b926b45c11d7ce7fac6d6ca865
Author: Anton Blanchard <anton at samba.org>
Date:   Sat Sep 10 16:01:10 2005 +1000

    [PATCH] ppc64: Add definitions for new PTRACE calls
    
    - Add PTRACE_GET_DEBUGREG/PTRACE_SET_DEBUGREG. The definition is
      as follows:
    
    /*
     * Get or set a debug register. The first 16 are DABR registers and the
     * second 16 are IABR registers.
     */
    #define PTRACE_GET_DEBUGREG    25
    #define PTRACE_SET_DEBUGREG    26
    
      DABR == data breakpoint and IABR = instruction breakpoint in IBM
      speak. We could split out the IABR into 2 more ptrace calls but I
      figured there was no need and 16 DABR registers should be more
      than enough (POWER4/POWER5 have one).
    
    - Add 2 new SIGTRAP si_codes: TRAP_HWBKPT and TRAP_BRANCH. I couldnt
      find any standards on either of these so I copied what ia64 is
      doing. Again this might be better placed in
      include/asm-generic/siginfo.h
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit df09ce4a15bac7b05356b2f00fbb600c5890b1f3
Author: Anton Blanchard <anton at samba.org>
Date:   Sat Sep 10 16:01:09 2005 +1000

    [PATCH] ppc64: Fix up some whitespace issues in ptrace32.c
    
    Fix up some whitespace issues in ptrace32.c
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit a0987224dc80b3eb98cc7a135422acbda8538146
Author: Anton Blanchard <anton at samba.org>
Date:   Sat Sep 10 16:01:08 2005 +1000

    [PATCH] ppc64: ptrace cleanups
    
    - Remove the PPC_REG* defines
    - Wrap some more stuff with ifdef __KERNEL__
    - Add missing PT_TRAP, PT_DAR, PT_DSISR defines
    - Add PTRACE_GETEVRREGS/PTRACE_SETEVRREGS, even though we dont use it on
      ppc64 we dont want to allocate them for something else.
    
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 962bca7f389229a30ced441d7b37f55f203006a2
Author: Robert Jennings <rcjenn at austin.ibm.com>
Date:   Sat Sep 10 16:01:07 2005 +1000

    [PATCH] ppc64: Add PTRACE_{GET|SET}VRREGS
    
    The ptrace get and set methods for VMX/Altivec registers present in the
    ppc tree were missing for ppc64.  This patch adds the 32-bit and
    64-bit methods.  Updated with the suggestions from Anton following the lines
    of his code snippet.
    
    Added:
     - flush_altivec_to_thread calls as suggested by Anton
     - piecewise copy of structure to preserve 32-bit vrsave data as per
       Anton
    
    (I consolidated the 32 and 64bit versions with 2 helper macros - Anton)
    
    Signed-off-by: Robert C Jennings <rcjenn at austin.ibm.com>
    Signed-off-by: Anton Blanchard <anton at samba.org>
    Signed-off-by: Paul Mackerras <paulus at samba.org>

commit 4267292b0f368c1633ff3316a53b5f7fbada95f8
Author: Paul Mackerras <paulus at samba.org>
Date:   Mon Sep 12 17:17:36 2005 +1000

    ppc64: Set up PCI tree from Open Firmware device tree
    
    This adds code which gives us the option on ppc64 of instantiating the
    PCI tree (the tree of pci_bus and pci_dev structs) from the Open
    Firmware device tree rather than by probing PCI configuration space.
    The OF device tree has a node for each PCI device and bridge in the
    system, with properties that tell us what addresses the firmware has
    configured for them and other details.
    
    There are a couple of reasons why this is needed.  First, on systems
    with a hypervisor, there is a PCI-PCI bridge per slot under the PCI
    host bridges.  These PCI-PCI bridges have special isolation features
    for virtualization.  We can't write to their config space, and we are
    not supposed to be reading their config space either.  The firmware
    tells us about the address ranges that they pass in the OF device
    tree.
    
    Secondly, on powermacs, the interrupt controller is in a PCI device
    that may be behind a PCI-PCI bridge.  If we happened to take an
    interrupt just at the point when the device or a bridge on the path to
    it was disabled for probing, we would crash when we try to access the
    interrupt controller.
    
    I have implemented a platform-specific function which is called for
    each PCI bridge (host or PCI-PCI) to say whether the code should look
    in the device tree or use normal PCI probing for the devices under
    that bridge.  On pSeries machines we use the device tree if we're
    running under a hypervisor, otherwise we use normal probing.  On
    powermacs we use normal probing for the AGP bridge, since the device
    for the AGP bridge itself isn't shown in the device tree (at least on
    my G5), and the device tree for everything else.
    
    This has been tested on a dual G5 powermac, a partition on a POWER5
    machine (running under the hypervisor), and a legacy iSeries
    partition.
    
    Signed-off-by: Paul Mackerras <paulus at samba.org>




More information about the Linuxppc64-dev mailing list