diff options
author | David S. Miller <davem@davemloft.net> | 2010-04-21 01:14:25 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-21 01:14:25 -0700 |
commit | 87eb367003887cdc81a5d183efea227b5b488961 (patch) | |
tree | 40f617e25a9364d573e3cd2189c9e7fa56c8a0fe /arch/mips/include/asm/stackframe.h | |
parent | ccb7c7732e2ceb4e81a7806faf1670be9681ccd2 (diff) | |
parent | 05d17608a69b3ae653ea5c9857283bef3439c733 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts:
drivers/net/wireless/iwlwifi/iwl-6000.c
net/core/dev.c
Diffstat (limited to 'arch/mips/include/asm/stackframe.h')
-rw-r--r-- | arch/mips/include/asm/stackframe.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/mips/include/asm/stackframe.h b/arch/mips/include/asm/stackframe.h index 3b6da3330e3..c8419129e77 100644 --- a/arch/mips/include/asm/stackframe.h +++ b/arch/mips/include/asm/stackframe.h @@ -121,6 +121,25 @@ .endm #else .macro get_saved_sp /* Uniprocessor variation */ +#ifdef CONFIG_CPU_LOONGSON2F + /* + * Clear BTB (branch target buffer), forbid RAS (return address + * stack) to workaround the Out-of-order Issue in Loongson2F + * via its diagnostic register. + */ + move k0, ra + jal 1f + nop +1: jal 1f + nop +1: jal 1f + nop +1: jal 1f + nop +1: move ra, k0 + li k0, 3 + mtc0 k0, $22 +#endif /* CONFIG_CPU_LOONGSON2F */ #if defined(CONFIG_32BIT) || defined(KBUILD_64BIT_SYM32) lui k1, %hi(kernelsp) #else |