diff options
author | David Daney <ddaney@caviumnetworks.com> | 2010-08-03 14:22:19 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-08-05 08:26:28 -0400 |
commit | 2ea6399f553bf9a47260723b44d50f747e310218 (patch) | |
tree | 2553152283a5a2f914575d69c5624ac83e04a719 /arch/mips | |
parent | ef771ad4ad59c88ffd1e313aa9e943751f83d3a2 (diff) |
MIPS: Add instrunction format for BREAK and SYSCALL
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>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/inst.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/arch/mips/include/asm/inst.h b/arch/mips/include/asm/inst.h index 6489f00731ca..444ff71aa0e8 100644 --- a/arch/mips/include/asm/inst.h +++ b/arch/mips/include/asm/inst.h | |||
@@ -247,6 +247,12 @@ struct ma_format { /* FPU multipy and add format (MIPS IV) */ | |||
247 | unsigned int fmt : 2; | 247 | unsigned int fmt : 2; |
248 | }; | 248 | }; |
249 | 249 | ||
250 | struct b_format { /* BREAK and SYSCALL */ | ||
251 | unsigned int opcode:6; | ||
252 | unsigned int code:20; | ||
253 | unsigned int func:6; | ||
254 | }; | ||
255 | |||
250 | #elif defined(__MIPSEL__) | 256 | #elif defined(__MIPSEL__) |
251 | 257 | ||
252 | struct j_format { /* Jump format */ | 258 | struct j_format { /* Jump format */ |
@@ -314,6 +320,12 @@ struct ma_format { /* FPU multipy and add format (MIPS IV) */ | |||
314 | unsigned int opcode : 6; | 320 | unsigned int opcode : 6; |
315 | }; | 321 | }; |
316 | 322 | ||
323 | struct b_format { /* BREAK and SYSCALL */ | ||
324 | unsigned int func:6; | ||
325 | unsigned int code:20; | ||
326 | unsigned int opcode:6; | ||
327 | }; | ||
328 | |||
317 | #else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */ | 329 | #else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */ |
318 | #error "MIPS but neither __MIPSEL__ nor __MIPSEB__?" | 330 | #error "MIPS but neither __MIPSEL__ nor __MIPSEB__?" |
319 | #endif | 331 | #endif |
@@ -328,7 +340,8 @@ union mips_instruction { | |||
328 | struct c_format c_format; | 340 | struct c_format c_format; |
329 | struct r_format r_format; | 341 | struct r_format r_format; |
330 | struct f_format f_format; | 342 | struct f_format f_format; |
331 | struct ma_format ma_format; | 343 | struct ma_format ma_format; |
344 | struct b_format b_format; | ||
332 | }; | 345 | }; |
333 | 346 | ||
334 | /* HACHACHAHCAHC ... */ | 347 | /* HACHACHAHCAHC ... */ |