2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-24 05:04:00 +08:00
linux-next/arch/mips
Leonid Yegoshin 5bba7aa495 MIPS: r2-on-r6-emu: Fix BLEZL and BGTZL identification
Fix the problem of inaccurate identification of instructions BLEZL and
BGTZL in R2 emulation code by making sure all necessary encoding
specifications are met.

Previously, certain R6 instructions could be identified as BLEZL or
BGTZL. R2 emulation routine didn't take into account that both BLEZL
and BGTZL instructions require their rt field (bits 20 to 16 of
instruction encoding) to be 0, and that, at same time, if the value in
that field is not 0, the encoding may represent a legitimate MIPS R6
instruction.

This means that a problem could occur after emulation optimization,
when emulation routine tried to pipeline emulation, picked up a next
candidate, and subsequently misrecognized an R6 instruction as BLEZL
or BGTZL.

It should be said that for single pass strategy, the problem does not
happen because CPU doesn't trap on branch-compacts which share opcode
space with BLEZL/BGTZL (but have rt field != 0, of course).

Signed-off-by: Leonid Yegoshin <leonid.yegoshin@imgtec.com>
Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtech.com>
Signed-off-by: Aleksandar Markovic <aleksandar.markovic@imgtech.com>
Reported-by: Douglas Leung <douglas.leung@imgtec.com>
Reviewed-by: Paul Burton <paul.burton@imgtec.com>
Cc: james.hogan@imgtec.com
Cc: petar.jovanovic@imgtec.com
Cc: goran.ferenc@imgtec.com
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/15456/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-04-10 11:56:08 +02:00
..
alchemy MIPS changes for v4.11 2017-02-21 14:21:11 -08:00
ar7 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
ath25 genirq: Remove irq argument from irq flow handlers 2015-09-16 15:47:51 +02:00
ath79 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
bcm47xx MIPS: BCM47XX: Fix button inversion for Asus WL-500W 2017-02-17 11:16:46 +00:00
bcm63xx MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
bmips MIPS: BMIPS: Support APPENDED_DTB 2016-10-06 17:31:02 +02:00
boot MIPS: DTS: Add img directory to Makefile 2017-02-17 11:16:46 +00:00
cavium-octeon MIPS: Octeon: Clean up platform code. 2017-04-10 11:56:07 +02:00
cobalt MIPS: Cobalt: Fix typo 2016-08-03 08:16:30 +02:00
configs MIPS changes for v4.11 2017-02-21 14:21:11 -08:00
dec MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
emma MIPS: Avoid old-style declaration 2017-01-25 02:51:11 +01:00
fw MIPS: Fix misspellings in comments. 2016-04-03 12:32:09 +02:00
generic MIPS: generic/kexec: add support for a DTB passed in a separate buffer 2017-01-03 16:34:46 +01:00
include MIPS: Delete redundant definition of SMP_CACHE_BYTES. 2017-04-10 11:56:08 +02:00
jazz MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
jz4740 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
kernel MIPS: r2-on-r6-emu: Fix BLEZL and BGTZL identification 2017-04-10 11:56:08 +02:00
kvm sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
lantiq MIPS: Lantiq: fix missing xbar kernel panic 2017-03-21 21:34:43 +01:00
lasat MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
lib MIPS: Fix modversions 2017-01-24 18:30:35 +01:00
loongson32 MIPS: Loongson1B: Change the OSC clock name 2017-01-03 16:48:40 +01:00
loongson64 MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
math-emu sched/headers: Prepare to move the task_lock()/unlock() APIs to <linux/sched/task.h> 2017-03-02 08:42:38 +01:00
mm MIPS: Add 48-bit VA space (and 4-level page tables) for 4K pages. 2017-04-10 11:56:06 +02:00
mti-malta MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
net MIPS: BPF: Fix multiple problems in JIT skb access helpers. 2017-04-10 11:56:05 +02:00
netlogic MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
oprofile MIPS: Unify perf counter register definitions 2017-02-14 09:00:24 +00:00
paravirt sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
pci MIPS: Octeon: Remove unused SLI types and macros. 2017-04-10 11:56:06 +02:00
pic32 MIPS: pic32mzda: Fix linker error for pic32_get_pbclk() 2017-02-17 11:14:29 +00:00
pistachio Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2016-08-06 09:13:11 -04:00
pmcs-msp71xx MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
pnx833x MIPS: Squash lines for simple wrapper functions 2016-10-04 16:13:57 +02:00
power MIPS: Hibernate: flush TLB entries earlier 2015-04-10 15:41:52 +02:00
ralink MIPS: ralink: Fix typos in rt3883 pinctrl 2017-03-08 11:29:48 +01:00
rb532 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
sgi-ip22 MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
sgi-ip27 MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
sgi-ip32 MIPS: Add missing include files 2017-03-08 10:38:06 +01:00
sibyte sched/headers: Move task-stack related APIs from <linux/sched.h> to <linux/sched/task_stack.h> 2017-03-03 01:43:47 +01:00
sni char/genrtc: remove asm-generic/rtc.h from mips 2016-06-04 00:23:36 +02:00
txx9 MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
vdso MIPS: VDSO: Explicitly use -fno-asynchronous-unwind-tables 2017-02-17 11:32:12 +00:00
vr41xx MIPS: Audit and remove any unnecessary uses of module.h 2017-02-14 09:00:25 +00:00
xilfpga MIPS: xilfpga: Use irqchip instead of the legacy way 2017-01-03 16:34:39 +01:00
Kbuild MIPS: Disable Werror when W= is set 2017-04-10 11:56:07 +02:00
Kbuild.platforms MIPS: generic: Convert SEAD-3 to a generic board 2016-10-06 18:04:20 +02:00
Kconfig MIPS: Loongson-3: Select MIPS_L1_CACHE_SHIFT_6 2017-04-10 11:56:08 +02:00
Kconfig.debug MIPS: Remove compact branch policy Kconfig entries 2016-09-13 14:14:50 +02:00
Makefile MIPS: Disable stack checks on MIPS kernels 2017-02-14 09:00:23 +00:00
Makefile.postlink MIPS: Fix distclean with Makefile.postlink 2017-02-13 18:57:34 +00:00