1. 21 6月, 2006 1 次提交
  2. 15 6月, 2006 8 次提交
  3. 12 6月, 2006 1 次提交
  4. 09 6月, 2006 9 次提交
    • P
      [PATCH] powerpc: Implement PR_[GS]ET_UNALIGN prctls for powerpc · e9370ae1
      Paul Mackerras 提交于
      This gives the ability to control whether alignment exceptions get
      fixed up or reported to the process as a SIGBUS, using the existing
      PR_SET_UNALIGN and PR_GET_UNALIGN prctls.  We do not implement the
      option of logging a message on alignment exceptions.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      e9370ae1
    • P
      [PATCH] powerpc: Implement support for setting little-endian mode via prctl · fab5db97
      Paul Mackerras 提交于
      This adds the PowerPC part of the code to allow processes to change
      their endian mode via prctl.
      
      This also extends the alignment exception handler to be able to fix up
      alignment exceptions that occur in little-endian mode, both for
      "PowerPC" little-endian and true little-endian.
      
      We always enter signal handlers in big-endian mode -- the support for
      little-endian mode does not amount to the creation of a little-endian
      user/kernel ABI.  If the signal handler returns, the endian mode is
      restored to what it was when the signal was delivered.
      
      We have two new kernel CPU feature bits, one for PPC little-endian and
      one for true little-endian.  Most of the classic 32-bit processors
      support PPC little-endian, and this is reflected in the CPU feature
      table.  There are two corresponding feature bits reported to userland
      in the AT_HWCAP aux vector entry.
      
      This is based on an earlier patch by Anton Blanchard.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      fab5db97
    • M
      [PATCH] powerpc: oprofile support for POWER6 · e78dbc80
      Michael Neuling 提交于
      POWER6 moves some of the MMCRA bits and also requires some bits to be
      cleared each PMU interrupt.
      Signed-off-by: NMichael Neuling <mikey@neuling.org>
      Acked-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      e78dbc80
    • C
      [PATCH] powerpc: node-aware dma allocations · 8eb6c6e3
      Christoph Hellwig 提交于
      Make sure dma_alloc_coherent allocates memory from the local node.  This
      is important on Cell where we avoid going through the slow cpu
      interconnect.
      
      Note:  I could only test this patch on Cell, it should be verified on
      some pseries machine by those that have the hardware.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      8eb6c6e3
    • C
      [PATCH] powerpc: implement pcibus_to_node and pcibus_to_cpumask · 318facbe
      Christoph Hellwig 提交于
      On 64bit powerpc we can find out what node a pci bus hangs off, so
      implement the topology.h macros that export this information.
      
      For 32bit this seems a little more difficult, but I don't know of 32bit
      powerpc NUMA machines either, so let's leave it out for now.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      318facbe
    • J
      [PATCH] powerpc: reorg RTAS delay code · 507279db
      John Rose 提交于
      This patch attempts to handle RTAS "busy" return codes in a more simple
      and consistent manner.  Typical callers of RTAS shouldn't have to
      manage wait times and delay calls.
      
      This patch also changes the kernel to use msleep() rather than udelay()
      when a runtime delay is necessary.  This will avoid CPU soft lockups
      for extended delay conditions.
      Signed-off-by: NJohn Rose <johnrose@austin.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      507279db
    • B
      [PATCH] powerpc: Fix buglet with MMU hash management · c5cf0e30
      Benjamin Herrenschmidt 提交于
      Our MMU hash management code would not set the "C" bit (changed bit) in
      the hardware PTE when updating a RO PTE into a RW PTE. That would cause
      the hardware to possibly to a write back to the hash table to set it on
      the first store access, which in addition to being a performance issue,
      might also hit a bug when running with native hash management (non-HV)
      as our code is specifically optimized for the case where no write back
      happens.
      
      Thus there is a very small therocial window were a hash PTE can become
      corrupted if that HPTE has just been upgraded to read write, a store
      access happens on it, and that races with another processor evicting
      that same slot. Since eviction (caused by an almost full hash) is
      extremely rare, the bug is very unlikely to happen fortunately.
      
      This fixes by allowing the updating of the protection bits in the native
      hash handling to also set (but not clear) the "C" bit, and, in order to
      also improve performances in the general case, by always setting that
      bit on newly inserted hash PTE so that writeback really never happens.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c5cf0e30
    • B
      [PATCH] powerpc vdso updates · a5bba930
      Benjamin Herrenschmidt 提交于
      This patch cleans up some locking & error handling in the ppc vdso and
      moves the vdso base pointer from the thread struct to the mm context
      where it more logically belongs. It brings the powerpc implementation
      closer to Ingo's new x86 one and also adds an arch_vma_name() function
      allowing to print [vsdo] in /proc/<pid>/maps if Ingo's x86 vdso patch is
      also applied.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a5bba930
    • R
      [PATCH] powerpc: enable PPC_PTRACE_[GS]ETREGS on ppc32 · 98a90c02
      Renzo Davoli 提交于
      I have tested PPC_PTRACE_GETREGS and PPC_PTRACE_SETREGS on umview.
      
      I do not understand why historically these tags has been defined as
      PPC_PTRACE_GETREGS and PPC_PTRACE_SETREGS instead of simply
      PTRACE_[GS]ETREGS. The other "originality" is that the address must be
      put into the "addr" field instead of the "data" field as stated in the
      manual.
      Signed-off-by: Nrenzo davoli <renzo@cs.unibo.it>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      98a90c02
  5. 27 5月, 2006 1 次提交
  6. 24 5月, 2006 5 次提交
  7. 19 5月, 2006 6 次提交
  8. 03 5月, 2006 1 次提交
    • P
      powerpc: Fix incorrect might_sleep in __get_user/__put_user on kernel addresses · 6bfd93c3
      Paul Mackerras 提交于
      We have a case where __get_user and __put_user can validly be used
      on kernel addresses in interrupt context - namely, the alignment
      exception handler, as our get/put_unaligned just do a single access
      and rely on the alignment exception handler to fix things up in the
      rare cases where the cpu can't handle it in hardware.  Thus we can
      get alignment exceptions in the network stack at interrupt level.
      The alignment exception handler does a __get_user to read the
      instruction and blows up in might_sleep().
      
      Since a __get_user on a kernel address won't actually ever sleep,
      this makes the might_sleep conditional on the address being less
      than PAGE_OFFSET.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      6bfd93c3
  9. 02 5月, 2006 2 次提交
  10. 29 4月, 2006 5 次提交
  11. 28 4月, 2006 1 次提交