kernel: update kernel 4.4 to 4.4.61
[openwrt/openwrt.git] / target / linux / brcm47xx / patches-4.4 / 159-cpu_fixes.patch
index cf72d66114c2ea661e5d3335284cf8c5bdf1def5..32a65186db13c205bf993d9df8da9475151ddac7 100644 (file)
  #endif /* _ASM_R4KCACHE_H */
 --- a/arch/mips/include/asm/stackframe.h
 +++ b/arch/mips/include/asm/stackframe.h
-@@ -358,6 +358,10 @@
+@@ -365,6 +365,10 @@
                .macro  RESTORE_SP_AND_RET
                LONG_L  sp, PT_R29(sp)
                .set    arch=r4000
        /*
 --- a/arch/mips/mm/tlbex.c
 +++ b/arch/mips/mm/tlbex.c
-@@ -943,6 +943,9 @@ build_get_pgde32(u32 **p, unsigned int t
+@@ -960,6 +960,9 @@ build_get_pgde32(u32 **p, unsigned int t
                uasm_i_srl(p, ptr, ptr, SMP_CPUID_PTRSHIFT);
                uasm_i_addu(p, ptr, tmp, ptr);
  #else
                UASM_i_LA_mostly(p, ptr, pgdc);
  #endif
                uasm_i_mfc0(p, tmp, C0_BADVADDR); /* get faulting address */
-@@ -1284,6 +1287,9 @@ static void build_r4000_tlb_refill_handl
+@@ -1301,6 +1304,9 @@ static void build_r4000_tlb_refill_handl
  #ifdef CONFIG_64BIT
                build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */
  #else
                build_get_pgde32(&p, K0, K1); /* get pgd in K1 */
  #endif
  
-@@ -1295,6 +1301,9 @@ static void build_r4000_tlb_refill_handl
+@@ -1312,6 +1318,9 @@ static void build_r4000_tlb_refill_handl
                build_update_entries(&p, K0, K1);
                build_tlb_write_entry(&p, &l, &r, tlb_random);
                uasm_l_leave(&l, p);
                uasm_i_eret(&p); /* return from trap */
        }
  #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
-@@ -1871,6 +1880,9 @@ build_r4000_tlbchange_handler_head(u32 *
+@@ -1888,6 +1897,9 @@ build_r4000_tlbchange_handler_head(u32 *
  #ifdef CONFIG_64BIT
        build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */
  #else
        build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */
  #endif
  
-@@ -1917,6 +1929,9 @@ build_r4000_tlbchange_handler_tail(u32 *
+@@ -1934,6 +1946,9 @@ build_r4000_tlbchange_handler_tail(u32 *
        build_tlb_write_entry(p, l, r, tlb_indexed);
        uasm_l_leave(l, *p);
        build_restore_work_registers(p);