diff options
| author | Ralf Baechle <ralf@linux-mips.org> | 2013-01-17 10:29:27 -0500 |
|---|---|---|
| committer | Ralf Baechle <ralf@linux-mips.org> | 2013-02-01 04:00:21 -0500 |
| commit | 8fba1e588b7ed124bef42548924a6f4f95de9dba (patch) | |
| tree | b35b4aad93984c8092e3d66537c1f83c414206ed | |
| parent | 85dfaf0831d292aa19fa3f230a73f3081d7d7067 (diff) | |
MIPS: inst.h: Add MDMX and paired single instruction aka MIPS-3D formats.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
| -rw-r--r-- | arch/mips/include/uapi/asm/inst.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/mips/include/uapi/asm/inst.h b/arch/mips/include/uapi/asm/inst.h index 9d8651a13acc..fb77a0e01cd7 100644 --- a/arch/mips/include/uapi/asm/inst.h +++ b/arch/mips/include/uapi/asm/inst.h | |||
| @@ -290,6 +290,27 @@ struct b_format { /* BREAK and SYSCALL */ | |||
| 290 | ;))) | 290 | ;))) |
| 291 | }; | 291 | }; |
| 292 | 292 | ||
| 293 | struct ps_format { /* MIPS-3D / paired single format */ | ||
| 294 | BITFIELD_FIELD(unsigned int opcode : 6, | ||
| 295 | BITFIELD_FIELD(unsigned int rs : 5, | ||
| 296 | BITFIELD_FIELD(unsigned int ft : 5, | ||
| 297 | BITFIELD_FIELD(unsigned int fs : 5, | ||
| 298 | BITFIELD_FIELD(unsigned int fd : 5, | ||
| 299 | BITFIELD_FIELD(unsigned int func : 6, | ||
| 300 | ;)))))) | ||
| 301 | }; | ||
| 302 | |||
| 303 | struct v_format { /* MDMX vector format */ | ||
| 304 | BITFIELD_FIELD(unsigned int opcode : 6, | ||
| 305 | BITFIELD_FIELD(unsigned int sel : 4, | ||
| 306 | BITFIELD_FIELD(unsigned int fmt : 1, | ||
| 307 | BITFIELD_FIELD(unsigned int vt : 5, | ||
| 308 | BITFIELD_FIELD(unsigned int vs : 5, | ||
| 309 | BITFIELD_FIELD(unsigned int vd : 5, | ||
| 310 | BITFIELD_FIELD(unsigned int func : 6, | ||
| 311 | ;))))))) | ||
| 312 | }; | ||
| 313 | |||
| 293 | union mips_instruction { | 314 | union mips_instruction { |
| 294 | unsigned int word; | 315 | unsigned int word; |
| 295 | unsigned short halfword[2]; | 316 | unsigned short halfword[2]; |
| @@ -303,6 +324,8 @@ union mips_instruction { | |||
| 303 | struct f_format f_format; | 324 | struct f_format f_format; |
| 304 | struct ma_format ma_format; | 325 | struct ma_format ma_format; |
| 305 | struct b_format b_format; | 326 | struct b_format b_format; |
| 327 | struct ps_format ps_format; | ||
| 328 | struct v_format v_format; | ||
| 306 | }; | 329 | }; |
| 307 | 330 | ||
| 308 | #endif /* _UAPI_ASM_INST_H */ | 331 | #endif /* _UAPI_ASM_INST_H */ |
