1. 12 Sep, 2005 6 commits
    • Anton Blanchard's avatar
      [PATCH] ppc64: Add ptrace data breakpoint support · fd9648df
      Anton Blanchard authored
      Add hardware data breakpoint support.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      fd9648df
    • Anton Blanchard's avatar
      [PATCH] ppc64: Add definitions for new PTRACE calls · a94d3085
      Anton Blanchard authored
      - 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: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a94d3085
    • Anton Blanchard's avatar
      [PATCH] ppc64: Fix up some whitespace issues in ptrace32.c · df09ce4a
      Anton Blanchard authored
      Fix up some whitespace issues in ptrace32.c
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      df09ce4a
    • Anton Blanchard's avatar
      [PATCH] ppc64: ptrace cleanups · a0987224
      Anton Blanchard authored
      - 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: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a0987224
    • Robert Jennings's avatar
      [PATCH] ppc64: Add PTRACE_{GET|SET}VRREGS · 962bca7f
      Robert Jennings authored
      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: default avatarRobert C Jennings <rcjenn@austin.ibm.com>
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      962bca7f
    • Paul Mackerras's avatar
      ppc64: Set up PCI tree from Open Firmware device tree · 4267292b
      Paul Mackerras authored
      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: default avatarPaul Mackerras <paulus@samba.org>
      4267292b
  2. 11 Sep, 2005 25 commits
  3. 10 Sep, 2005 9 commits