linux/arch/mips
Paul Burton c8c0da6bdf MIPS: Fix MFC1 & MFHC1 emulation for 64-bit MIPS systems
Commit bbd426f542 "MIPS: Simplify FP context access" modified the
SIFROMREG & SIFROMHREG macros such that they return unsigned rather
than signed 32b integers. I had believed that to be fine, but
inadvertently missed the MFC1 & MFHC1 cases which write to a struct
pt_regs regs element. On MIPS32 this is fine, but on 64 bit those
saved regs' fields are 64 bit wide. Using unsigned values caused the
32 bit value from the FP register to be zero rather than sign extended
as the architecture specifies, causing incorrect emulation of the
MFC1 & MFHc1 instructions. Fix by reintroducing the casts to signed
integers, and therefore the sign extension.

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Cc: stable@vger.kernel.org # v3.15+
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7848/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2014-09-26 11:33:11 +02:00
..
alchemy MIPS: Alchemy: Fix db1200 PSC clock enablement 2014-08-26 02:18:53 +02:00
ar7 MIPS: Restore init.h usage to arch/mips/ar7/time.c 2014-03-26 23:09:23 +01:00
ath79 usb: host: remove selects of USB_ARCH_HAS_?HCI 2014-02-18 12:36:38 -08:00
bcm47xx MIPS: BCM47XX: Fix reboot problem on BCM4705/BCM4785 2014-08-26 02:18:53 +02:00
bcm63xx MIPS: BCM63xx: delete double assignment 2014-08-26 02:18:58 +02:00
boot MIPS: ZBOOT: add missing <linux/string.h> include 2014-08-26 02:18:58 +02:00
cavium-octeon MIPS: OCTEON: make get_system_type() thread-safe 2014-08-26 02:18:57 +02:00
cobalt MIPS: Cobalt: Move to 8250/16550 serial early printk driver 2013-10-29 21:24:38 +01:00
configs Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-08-07 08:47:00 -07:00
dec Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
emma MIPS: Remove panic_timeout settings 2013-11-26 12:12:27 +01:00
fw MIPS: DEC/SNI: O32 wrapper stack switching fixes 2014-05-13 00:29:35 +02:00
include MIPS: Move CPU topology macros to topology.h 2014-08-27 13:44:44 +02:00
jazz
jz4740 This is the bulk of GPIO changes for the v3.17 development 2014-08-08 18:00:35 -07:00
kernel MIPS: Wire up new syscalls getrandom and memfd_create. 2014-08-26 03:03:40 +02:00
kvm Patch queue for ppc - 2014-08-01 2014-08-05 09:58:11 +02:00
lantiq Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
lasat MIPS: Lasat: Replace del_timer by del_timer_sync 2014-03-31 18:17:12 +02:00
lib MIPS: __delay ABI-dependent subtraction simplification 2014-05-30 21:01:08 +02:00
loongson MIPS: Loongson: Fix COP2 usage for preemptible kernel 2014-08-26 02:18:55 +02:00
loongson1 MIPS: Disable MIPS16/microMIPS crap for platforms not supporting these ASEs. 2014-05-23 15:12:37 +02:00
math-emu MIPS: Fix MFC1 & MFHC1 emulation for 64-bit MIPS systems 2014-09-26 11:33:11 +02:00
mm MIPS: Remove race window in page fault handling 2014-08-26 02:18:54 +02:00
mti-malta MIPS: Malta: Improve system memory detection for '{e, }memsize' >= 2G 2014-08-26 02:18:54 +02:00
mti-sead3 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
net arch/mips/net/bpf_jit.c: fix failure check 2014-08-26 02:18:59 +02:00
netlogic Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-06-09 18:10:34 -07:00
oprofile MIPS: Add support for the M5150 processor 2014-03-26 23:09:22 +01:00
paravirt mips: Update the email address of Geert Uytterhoeven 2014-06-02 16:34:41 +02:00
pci MIPS: Loongson: Rename CONFIG_LEMOTE_MACH3A to CONFIG_LOONGSON_MACH3X 2014-07-30 21:47:33 +02:00
pmcs-msp71xx MIPS: MSP71xx: remove unused plat_irq_dispatch() argument 2014-08-26 02:18:52 +02:00
pnx833x MIPS: PNX833x: Remove checks for CONFIG_I2C_PNX0105 2014-05-23 15:12:39 +02:00
power MIPS: Hibernate: Flush TLB entries in swsusp_arch_resume() 2014-03-31 10:16:53 +02:00
ralink MIPS: ralink: Use strlcpy to ensure string is always NUL-terminated. 2014-07-30 14:42:21 +02:00
rb532 Merge branch '3.16-fixes' into mips-for-linux-next 2014-08-02 00:07:03 +02:00
sgi-ip22 MIPS: IP22: Add missing put_device call 2014-07-30 13:27:51 +02:00
sgi-ip27 MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
sgi-ip32
sibyte MIPS: SMP: Remove plat_smp_ops cpus_done method. 2014-05-27 11:06:42 +02:00
sni MIPS: Cleanup CP0 PRId and CP1 FPIR register access masks 2013-09-18 20:25:19 +02:00
txx9 Merge branch '3.16-fixes' into mips-for-linux-next 2014-08-02 00:07:03 +02:00
vr41xx MIPS: Idle: Consolidate all declarations in <asm/idle.h>. 2013-05-22 01:34:27 +02:00
Kbuild MIPS: net: Add BPF JIT 2014-05-30 16:10:20 +02:00
Kbuild.platforms MIPS: Enable build for new system 'paravirt' 2014-06-02 12:34:20 +02:00
Kconfig Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-09-19 09:06:39 -07:00
Kconfig.debug MIPS: MT: Remove SMTC support 2014-05-24 00:07:01 +02:00
Makefile MIPS: SmartMIPS: Disable assembler warnings 2014-09-17 14:29:03 +02:00