1
linux/arch/ppc64/kernel
Benjamin Herrenschmidt 187335a4ec [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>
2005-04-16 15:24:36 -07:00
..
vdso32 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vdso64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
align.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-offsets.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
binfmt_elf32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bitops.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
btext.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cpu_setup_power4.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cputable.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
eeh.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
head.S [PATCH] ppc64: Detect altivec via firmware on unknown CPUs 2005-04-16 15:24:36 -07:00
HvCall.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvCall.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvconsole.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hvcserver.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
HvLpConfig.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
HvLpEvent.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i8259.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
i8259.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idle_power4.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
idle.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iomap.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_htab.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_pci_reset.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_proc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_setup.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iSeries_VpdInfo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ItLpQueue.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kprobes.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lmb.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
lparcfg.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
LparData.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
maple_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
maple_setup.c [PATCH] ppc64: Fix semantics of __ioremap 2005-04-16 15:24:33 -07:00
maple_time.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mf.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
misc.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mpic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mpic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
of_device.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pacaData.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_direct_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_dn.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.c [PATCH] ppc64: Fix semantics of __ioremap 2005-04-16 15:24:33 -07:00
pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_feature.c [PATCH] ppc64: very basic desktop g5 sound support 2005-04-16 15:24:32 -07:00
pmac_low_i2c.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac_time.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmac.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pmc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppc_ksyms.c [PATCH] ppc64: fix export of wrong symbol 2005-04-16 15:24:34 -07:00
proc_ppc64.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
process.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prom_init.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prom.c [PATCH] ppc64: Detect altivec via firmware on unknown CPUs 2005-04-16 15:24:36 -07:00
pSeries_hvCall.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_lpar.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_nvram.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_pci.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_reconfig.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pSeries_setup.c [PATCH] ppc64: Fix semantics of __ioremap 2005-04-16 15:24:33 -07:00
pSeries_smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ptrace.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ras.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtas_flash.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtas-proc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtas.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtasd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtc.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scanlog.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp-tbsync.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sys_ppc32.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
syscalls.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sysfs.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
time.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
traps.c [PATCH] ppc64: Detect altivec via firmware on unknown CPUs 2005-04-16 15:24:36 -07:00
u3_iommu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udbg.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vdso.c [PATCH] ppc64: Improve mapping of vDSO 2005-04-16 15:24:35 -07:00
vecemu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vector.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vio.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
viopath.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vmlinux.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xics.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
XmPciLpEvent.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00