diff options
-rw-r--r-- | arch/mips/mm/tlbex.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index afeef93f81a7..f0f4dc44f394 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -1935,6 +1935,19 @@ static void __cpuinit build_r4000_tlb_load_handler(void) | |||
1935 | uasm_i_nop(&p); | 1935 | uasm_i_nop(&p); |
1936 | 1936 | ||
1937 | uasm_i_tlbr(&p); | 1937 | uasm_i_tlbr(&p); |
1938 | |||
1939 | switch (current_cpu_type()) { | ||
1940 | default: | ||
1941 | if (cpu_has_mips_r2) { | ||
1942 | uasm_i_ehb(&p); | ||
1943 | |||
1944 | case CPU_CAVIUM_OCTEON: | ||
1945 | case CPU_CAVIUM_OCTEON_PLUS: | ||
1946 | case CPU_CAVIUM_OCTEON2: | ||
1947 | break; | ||
1948 | } | ||
1949 | } | ||
1950 | |||
1938 | /* Examine entrylo 0 or 1 based on ptr. */ | 1951 | /* Examine entrylo 0 or 1 based on ptr. */ |
1939 | if (use_bbit_insns()) { | 1952 | if (use_bbit_insns()) { |
1940 | uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8); | 1953 | uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8); |
@@ -1989,6 +2002,19 @@ static void __cpuinit build_r4000_tlb_load_handler(void) | |||
1989 | uasm_i_nop(&p); | 2002 | uasm_i_nop(&p); |
1990 | 2003 | ||
1991 | uasm_i_tlbr(&p); | 2004 | uasm_i_tlbr(&p); |
2005 | |||
2006 | switch (current_cpu_type()) { | ||
2007 | default: | ||
2008 | if (cpu_has_mips_r2) { | ||
2009 | uasm_i_ehb(&p); | ||
2010 | |||
2011 | case CPU_CAVIUM_OCTEON: | ||
2012 | case CPU_CAVIUM_OCTEON_PLUS: | ||
2013 | case CPU_CAVIUM_OCTEON2: | ||
2014 | break; | ||
2015 | } | ||
2016 | } | ||
2017 | |||
1992 | /* Examine entrylo 0 or 1 based on ptr. */ | 2018 | /* Examine entrylo 0 or 1 based on ptr. */ |
1993 | if (use_bbit_insns()) { | 2019 | if (use_bbit_insns()) { |
1994 | uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8); | 2020 | uasm_i_bbit0(&p, wr.r2, ilog2(sizeof(pte_t)), 8); |