X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/1a3de32e6815324dc0670c2b7a161b3d1fe91828..0218c10c874f3519d571bf725efa4f5c7d3a97d7:/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 3a527df25..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 -@@ -601,6 +601,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 */ -@@ -739,12 +742,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 -@@ -756,6 +759,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); @@ -67,7 +67,7 @@ uasm_i_eret(&p); /* return from trap */ #ifdef CONFIG_HUGETLB_PAGE -@@ -1196,12 +1202,12 @@ build_r4000_tlbchange_handler_head(u32 * +@@ -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 -@@ -1238,6 +1244,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);