linux/arch
Luck, Tony 1a499150e4 [IA64] Fix unaligned handler for floating point instructions with base update
The compiler team did the hard work for this distilling a problem in
large fortran application which showed up when applied to a 290MB input
data set down to this instruction:

	ldfd f34=[r17],-8

Which they noticed incremented r17 by 0x10 rather than decrementing it
by 8 when the value in r17 caused an unaligned data fault.  I tracked
it down to some bad instruction decoding in unaligned.c. The code
assumes that the 'x' bit can determine whether the instruction is
an "ldf" or "ldfp" ... which it is for opcode=6 (see table 4-29 on
page 3:302 of the SDM).  But for opcode=7 the 'x' bit is irrelevent,
all variants are "ldf" instructions (see table 4-36 on page 3:306).

Note also that interpreting the instruction as "ldfp" means that the
"paired" floating point register (f35 in the example here) will also
be corrupted.

Signed-off-by: Tony Luck <tony.luck@intel.com>
2008-01-15 14:26:55 -08:00
..
alpha alpha: build fixes 2007-12-17 19:28:16 -08:00
arm Fix ARM profiling/instrumentation configuration 2008-01-15 09:23:51 -08:00
avr32 [AVR32] Fix wrong pt_regs in critical exception handler 2007-12-07 14:54:48 +01:00
blackfin Fix Blackfin HARDWARE_PM support 2008-01-15 12:32:30 -08:00
cris CRIS v10: driver for ds1302 needs to include cris-specific i2c.h 2008-01-14 08:52:23 -08:00
frv FRV: arrange things such that BRA can reach from the trap table 2007-11-29 09:24:54 -08:00
h8300 Kbuild/doc: fix links to Documentation files 2007-10-30 14:26:30 -07:00
ia64 [IA64] Fix unaligned handler for floating point instructions with base update 2008-01-15 14:26:55 -08:00
m32r m32r: Update sys_rt_sigsuspend 2007-11-28 01:24:04 +09:00
m68k m68k: export atari_keyb_init 2007-11-26 19:15:31 -08:00
m68knommu m68knommu: mark mem init functions as __init 2007-10-23 20:45:44 -07:00
mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2008-01-14 21:25:39 -08:00
parisc [PARISC] print more than one character at a time for pdc console 2007-12-06 09:32:15 -08:00
powerpc [POWERPC] Fix boot failure on POWER6 2008-01-15 17:30:58 +11:00
ppc [POWERPC] virtex bug fix: Use canonical value for AC97 interrupt xparams 2007-12-07 11:43:55 +11:00
s390 [S390] Make sure the restore psw masks are initialized. 2007-12-04 16:09:58 +01:00
sh sh: Support PCI IO access of SH7780 base boards. 2007-11-30 12:36:13 +09:00
sh64 sh64: Kill off duplicate includes. 2007-11-05 12:18:17 +09:00
sparc [SPARC]: Make gettimeofday() monotonic again. 2008-01-12 21:52:15 -08:00
sparc64 [SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled. 2008-01-12 21:52:16 -08:00
um uml: user of helper_wait() got missed when it got extra arguments 2007-12-23 12:54:37 -08:00
v850 spelling fixes: arch/v850/ 2007-10-20 01:24:05 +02:00
x86 x86: fix RTC_AIE with CONFIG_HPET_EMULATE_RTC 2008-01-15 16:44:38 +01:00
xtensa [XTENSA]: Fix use of skb after netif_rx 2007-12-11 02:45:28 -08:00