MIPS: Add instrunction format for BREAK and SYSCALL
authorDavid Daney <ddaney@caviumnetworks.com>
Tue, 3 Aug 2010 18:22:19 +0000 (11:22 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 5 Aug 2010 12:26:28 +0000 (13:26 +0100)
Signed-off-by: David Daney <ddaney@caviumnetworks.com>
To: linux-mips@linux-mips.org
To: ananth@in.ibm.com
To: anil.s.keshavamurthy@intel.com
To: davem@davemloft.net
To: masami.hiramatsu.pt@hitachi.com
Cc: linux-kernel@vger.kernel.org
Cc: hschauhan@nulltrace.org
Patchwork: https://patchwork.linux-mips.org/patch/1524/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/inst.h

index 6489f00731caad3e904850dbbcf8d97f30afcd10..444ff71aa0e8d2759b85fb56c6955806234ef4e0 100644 (file)
@@ -247,6 +247,12 @@ struct ma_format { /* FPU multipy and add format (MIPS IV) */
        unsigned int fmt : 2;
 };
 
        unsigned int fmt : 2;
 };
 
+struct b_format { /* BREAK and SYSCALL */
+       unsigned int opcode:6;
+       unsigned int code:20;
+       unsigned int func:6;
+};
+
 #elif defined(__MIPSEL__)
 
 struct j_format {      /* Jump format */
 #elif defined(__MIPSEL__)
 
 struct j_format {      /* Jump format */
@@ -314,6 +320,12 @@ struct ma_format { /* FPU multipy and add format (MIPS IV) */
        unsigned int opcode : 6;
 };
 
        unsigned int opcode : 6;
 };
 
+struct b_format { /* BREAK and SYSCALL */
+       unsigned int func:6;
+       unsigned int code:20;
+       unsigned int opcode:6;
+};
+
 #else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */
 #error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
 #endif
 #else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */
 #error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
 #endif
@@ -328,7 +340,8 @@ union mips_instruction {
        struct c_format c_format;
        struct r_format r_format;
        struct f_format f_format;
        struct c_format c_format;
        struct r_format r_format;
        struct f_format f_format;
-        struct ma_format ma_format;
+       struct ma_format ma_format;
+       struct b_format b_format;
 };
 
 /* HACHACHAHCAHC ...  */
 };
 
 /* HACHACHAHCAHC ...  */