kernel-hacking-2024-linux-s.../arch/mips
Wu Zhangjin 622844bf0b MIPS: Loongson: Add CPU_LOONGSON2F_WORKAROUNDS
As documented in the  Loongson 2F User Manual [2, 3], the old Loongson2F
series (2F01 / 2F02) have the NOP & JUMP issues which requires workarounds
in the kernel and binutils.  This issue has been rectified in Loongson 2F
series 2F03 so no workarounds needed.

Now that the workarounds [1] adding the the -mfix-loongson2f-nop and
-mfix-loongson2f-jump options have been comitted to the binutils the CVS
repository), we can add the workarounds in the kernel.

The workarounds have no significant side effect on the system but may
decrease performance so we control them through a a new
CPU_LOONGSON2F_WORKAROUNDS config option allowing the users to only enable
it as necessary.

[1] "Fixups of Loongson2F" patch for binutils(actually for gas)
    http://sourceware.org/ml/binutils/2009-11/msg00387.html
[2] Chapter 15 of "Loongson2F User Manual"(Chinese Version)
    http://www.loongson.cn/uploadfile/file/200808211
[3] English Version of the above chapter 15
    http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Cc: linux-mips <linux-mips@linux-mips.org>
Patchwork: http://patchwork.linux-mips.org/patch/1105/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2010-04-30 20:52:56 +01:00
..
alchemy MIPS: DB1200: PCMCIA card detection must not be auto-enabled. 2010-04-30 20:52:43 +01:00
ar7 MIPS: AR7: Fix phat finger of cpmac fixed_phy_add 2010-04-12 17:26:13 +01:00
bcm47xx
bcm63xx MIPS: BCM63xx: Fix build failure in board_bcm963xx.c 2010-04-12 17:26:20 +01:00
boot
cavium-octeon MIPS: Octeon: Remove redundant declaration of octeon_reserve32_memory 2010-04-12 17:26:10 +01:00
cobalt
configs MIPS: BCM63xx: Update defconfig 2010-04-30 20:52:55 +01:00
dec
emma
fw
gt64120/wrppmc
include/asm MIPS: Loongson: Fix LOONGSON_ADDRWIN_CFG macro. 2010-04-30 20:52:51 +01:00
jazz MIPS: Fixup screen_info struct initializations 2010-04-30 20:52:42 +01:00
kernel MIPS: Use CKSEG1ADDR for uncached handler 2010-04-30 20:52:48 +01:00
lasat
lib MIPS: libgcc.h: Checkpatch cleanup 2010-04-12 17:26:15 +01:00
loongson MIPS: oprofile: Fix breakage when CONFIG_OPROFILE=m 2010-04-30 20:52:54 +01:00
math-emu
mipssim include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mm MIPS: Check for accesses beyond the end of the PGD. 2010-04-30 20:52:48 +01:00
mti-malta include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
nxp MIPS: PNX8550: Fix build error, broken by: 2010-04-30 20:52:39 +01:00
oprofile
pci MIPS: SB1250: Include correct header and fix a warning 2010-04-30 20:52:43 +01:00
pmc-sierra include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
power
powertv include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rb532 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sgi-ip22 MIPS: die() does not call die notifier chain 2010-04-30 20:52:45 +01:00
sgi-ip27 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sgi-ip32 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sibyte MIPS: Fixup screen_info struct initializations 2010-04-30 20:52:42 +01:00
sni
txx9 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
vr41xx
Kconfig MIPS: Loongson: Add CPU_LOONGSON2F_WORKAROUNDS 2010-04-30 20:52:56 +01:00
Kconfig.debug
Makefile