[PATCH] ppc64: Detect altivec via firmware on unknown CPUs
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Sat, 16 Apr 2005 22:24:36 +0000 (15:24 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Sat, 16 Apr 2005 22:24:36 +0000 (15:24 -0700)
commit187335a4ec72c9bc7f3f168d6858a41fcfb63302
treed5f1ae0d320e6325ed056469773e855fc635c53d
parent547ee84cea37696d25c93306e909378a87db2f66
[PATCH] ppc64: Detect altivec via firmware on unknown CPUs

This patch adds detection of the Altivec capability of the CPU via the
firmware in addition to the cpu table.  This allows newer CPUs that aren't
in the table to still have working altivec support in the kernel.

It also fixes a problem where if a CPU isn't recognized as having altivec
features, and takes an altivec unavailable exception due to userland
issuing altivec instructions, the kernel would happily enable it and
context switch the registers ...  but not all of them (it would basically
forget vrsave).  With this patch, the kernel will refuse to enable altivec
when the feature isn't detected for the CPU (SIGILL).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/ppc64/kernel/head.S
arch/ppc64/kernel/prom.c
arch/ppc64/kernel/traps.c