X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/2e7da1b948f9bf1946f992e7bafe27b913798367..a5193c8c3c6cf48010b985f5077da80d7487d01d:/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch diff --git a/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch b/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch index e9b37e7b5..7b889d899 100644 --- a/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch +++ b/target/linux/brcm47xx/patches-2.6.32/920-cache-wround.patch @@ -4,11 +4,11 @@ #ifdef CONFIG_BCM47XX #include #include --#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE))) +-#define BCM4710_DUMMY_RREG() ((void) *((u8 *) KSEG1ADDR(SSB_ENUM_BASE))) +#define BCM4710_DUMMY_RREG() bcm4710_dummy_rreg() + +static inline unsigned long bcm4710_dummy_rreg(void) { -+ return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE + SSB_IMSTATE))); ++ return (*(volatile unsigned long *)(KSEG1ADDR(SSB_ENUM_BASE))); +} + +#define BCM4710_FILL_TLB(addr) bcm4710_fill_tlb((void*)(addr)) @@ -31,7 +31,7 @@ --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c -@@ -544,6 +544,9 @@ build_get_pgde32(u32 **p, unsigned int t +@@ -595,6 +595,9 @@ build_get_pgde32(u32 **p, unsigned int t #endif uasm_i_addu(p, ptr, tmp, ptr); #else @@ -41,7 +41,7 @@ UASM_i_LA_mostly(p, ptr, pgdc); #endif uasm_i_mfc0(p, tmp, C0_BADVADDR); /* get faulting address */ -@@ -674,12 +677,12 @@ static void __cpuinit build_r4000_tlb_re +@@ -733,12 +736,12 @@ static void __cpuinit build_r4000_tlb_re /* No need for uasm_i_nop */ } @@ -57,7 +57,7 @@ build_get_pgde32(&p, K0, K1); /* get pgd in K1 */ #endif -@@ -687,6 +690,9 @@ static void __cpuinit build_r4000_tlb_re +@@ -750,6 +753,9 @@ static void __cpuinit build_r4000_tlb_re build_update_entries(&p, K0, K1); build_tlb_write_entry(&p, &l, &r, tlb_random); uasm_l_leave(&l, p); @@ -66,8 +66,8 @@ +#endif uasm_i_eret(&p); /* return from trap */ - #ifdef CONFIG_64BIT -@@ -1084,12 +1090,12 @@ build_r4000_tlbchange_handler_head(u32 * + #ifdef CONFIG_HUGETLB_PAGE +@@ -1188,12 +1194,12 @@ build_r4000_tlbchange_handler_head(u32 * struct uasm_reloc **r, unsigned int pte, unsigned int ptr) { @@ -83,7 +83,7 @@ build_get_pgde32(p, pte, ptr); /* get pgd in ptr */ #endif -@@ -1117,6 +1123,9 @@ build_r4000_tlbchange_handler_tail(u32 * +@@ -1230,6 +1236,9 @@ build_r4000_tlbchange_handler_tail(u32 * build_update_entries(p, tmp, ptr); build_tlb_write_entry(p, l, r, tlb_indexed); uasm_l_leave(l, *p);