1. 30 Oct, 2013 9 commits
  2. 29 Oct, 2013 28 commits
  3. 23 Oct, 2013 1 commit
    • Paul Mackerras's avatar
      powerpc: Don't corrupt user registers on 32-bit · 955c1cab
      Paul Mackerras authored
      Commit de79f7b9 ("powerpc: Put FP/VSX and VR state into structures")
      modified load_up_fpu() and load_up_altivec() in such a way that they
      now use r7 and r8.  Unfortunately, the callers of these functions on
      32-bit machines then return to userspace via fast_exception_return,
      which doesn't restore all of the volatile GPRs, but only r1, r3 -- r6
      and r9 -- r12.  This was causing userspace segfaults and other
      userspace misbehaviour on 32-bit machines.
      
      This fixes the problem by changing the register usage of load_up_fpu()
      and load_up_altivec() to avoid using r7 and r8 and instead use r6 and
      r10.  This also adds comments to those functions saying which registers
      may be used.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Tested-by: Scott Wood <scottwood@freescale.com> (on e500mc, so no altivec)
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      955c1cab
  4. 18 Oct, 2013 2 commits