linux-mips-fnet
[Top] [All Lists]

[PATCH]: binutils-2.8.1 for mips

To: linux-mips@fnet.fr
Subject: [PATCH]: binutils-2.8.1 for mips
From: "Gleb O. Raiko" <raiko@niisi.msk.ru>
Date: Wed, 07 Oct 1998 15:36:25 +0300
Organization: NIISI RAN
Hi folks,

The patch teaches 'as' to insert nops between mtc0/tlb{p,r,wi,wr}. This
is the requrement for R3000 and without it we need add nops manually
after *each* mtc0 in the kernel macros in pgtable.h in order to ensure
we never touch tlb before CPU updates its internal registers.

Harald, with this patch applied we may throw away all nops I inserted in
2.1.116. I'll send a patch to you soon.
 
Regards,
Gleb.
--- binutils-2.8.1.orig/opcodes/mips-opc.c      Mon May 26 21:34:19 1997
+++ binutils-2.8.1/opcodes/mips-opc.c   Wed Oct  7 14:16:21 1998
@@ -655,10 +655,10 @@
 {"tgeu",    "s,t",     0x00000031, 0xfc00003f, RD_s|RD_t|I2|TRAP },
 {"tgeu",    "s,j",     0x04090000, 0xfc1f0000, RD_s|I2|TRAP    }, /* tgeiu */
 {"tgeu",    "s,I",     2,    (int) M_TGEU_I,   INSN_MACRO      },
-{"tlbp",    "",                0x42000008, 0xffffffff, INSN_TLB        },
-{"tlbr",    "",                0x42000001, 0xffffffff, INSN_TLB        },
-{"tlbwi",   "",                0x42000002, 0xffffffff, INSN_TLB        },
-{"tlbwr",   "",                0x42000006, 0xffffffff, INSN_TLB        },
+{"tlbp",    "",                0x42000008, 0xffffffff, INSN_TLB|INSN_COP|COD   
},
+{"tlbr",    "",                0x42000001, 0xffffffff, INSN_TLB|INSN_COP|COD   
},
+{"tlbwi",   "",                0x42000002, 0xffffffff, INSN_TLB|INSN_COP|COD   
},
+{"tlbwr",   "",                0x42000006, 0xffffffff, INSN_TLB|INSN_COP|COD   
},
 {"tlti",    "s,j",     0x040a0000, 0xfc1f0000, RD_s|I2|TRAP    },
 {"tlt",     "s,t",     0x00000032, 0xfc00003f, RD_s|RD_t|I2|TRAP },
 {"tlt",     "s,j",     0x040a0000, 0xfc1f0000, RD_s|I2|TRAP    }, /* tlti */
<Prev in Thread] Current Thread [Next in Thread>