From: Maciej W. Rozycki Date: Mon, 13 Jun 2005 20:12:01 +0000 (+0000) Subject: Fill R3k load delay slots properly. X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=d925c262dd8bee2202b0d1b85ce0b332f48dd34b;p=openwrt%2Fstaging%2Fblogic.git Fill R3k load delay slots properly. Signed-off-by: Ralf Baechle --- diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index 2e90c1d2d053..68d24b80053b 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c @@ -1486,6 +1486,7 @@ static void __init build_r3000_tlb_load_handler(void) build_r3000_tlbchange_handler_head(&p, K0, K1); build_pte_present(&p, &l, &r, K0, K1, label_nopage_tlbl); + i_nop(&p); /* load delay */ build_make_valid(&p, &r, K0, K1); build_r3000_pte_reload(&p, K1); build_r3000_tlb_write(&p, &l, &r, K0); @@ -1527,6 +1528,7 @@ static void __init build_r3000_tlb_store_handler(void) build_r3000_tlbchange_handler_head(&p, K0, K1); build_pte_writable(&p, &l, &r, K0, K1, label_nopage_tlbs); + i_nop(&p); /* load delay */ build_make_write(&p, &r, K0, K1); build_r3000_pte_reload(&p, K1); build_r3000_tlb_write(&p, &l, &r, K0); @@ -1568,6 +1570,7 @@ static void __init build_r3000_tlb_modify_handler(void) build_r3000_tlbchange_handler_head(&p, K0, K1); build_pte_modifiable(&p, &l, &r, K0, K1, label_nopage_tlbm); + i_nop(&p); /* load delay */ build_make_write(&p, &r, K0, K1); build_r3000_pte_reload(&p, K1); i_tlbwi(&p);