diff options
| author | Ingo Molnar <mingo@kernel.org> | 2016-08-10 14:36:23 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2016-08-10 14:36:23 +0200 |
| commit | fdbdfefbabefcdf3f57560163b43fdc4cf95eb2f (patch) | |
| tree | 1d0c420d4eaff48cf2486f10dded8d551241ee94 /arch/powerpc/kernel/vector.S | |
| parent | 6731b0d611a1274f9e785fa0189ac2aeeabd0591 (diff) | |
| parent | a0cba2179ea4c1820fce2ee046b6ed90ecc56196 (diff) | |
Merge branch 'linus' into timers/urgent, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/powerpc/kernel/vector.S')
| -rw-r--r-- | arch/powerpc/kernel/vector.S | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/vector.S b/arch/powerpc/kernel/vector.S index 1c2e7a343bf5..616a6d854638 100644 --- a/arch/powerpc/kernel/vector.S +++ b/arch/powerpc/kernel/vector.S @@ -70,10 +70,11 @@ _GLOBAL(load_up_altivec) MTMSRD(r5) /* enable use of AltiVec now */ isync - /* Hack: if we get an altivec unavailable trap with VRSAVE - * set to all zeros, we assume this is a broken application - * that fails to set it properly, and thus we switch it to - * all 1's + /* + * While userspace in general ignores VRSAVE, glibc uses it as a boolean + * to optimise userspace context save/restore. Whenever we take an + * altivec unavailable exception we must set VRSAVE to something non + * zero. Set it to all 1s. See also the programming note in the ISA. */ mfspr r4,SPRN_VRSAVE cmpwi 0,r4,0 |
