diff options
author | Steven J. Hill <sjhill@mips.com> | 2012-04-09 11:58:39 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2012-07-23 08:55:53 -0400 |
commit | 889a4c7b33607bf03c04b8f2d5607fd4274f47f3 (patch) | |
tree | 5e34ba915e741e4cf346d35fd53b2f5c3f956560 /arch/mips/include/asm/mipsmtregs.h | |
parent | 2244f1286509673c0b40fb9504a9be0b7b633aeb (diff) |
MIPS: SMTC: Support for Multi-threaded FPUs
Signed-off-by: Steven J. Hill <sjhill@mips.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/3603/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include/asm/mipsmtregs.h')
-rw-r--r-- | arch/mips/include/asm/mipsmtregs.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/mips/include/asm/mipsmtregs.h b/arch/mips/include/asm/mipsmtregs.h index e71ff4c317f2..5b3cb8553e9a 100644 --- a/arch/mips/include/asm/mipsmtregs.h +++ b/arch/mips/include/asm/mipsmtregs.h | |||
@@ -28,6 +28,9 @@ | |||
28 | #define read_c0_vpeconf0() __read_32bit_c0_register($1, 2) | 28 | #define read_c0_vpeconf0() __read_32bit_c0_register($1, 2) |
29 | #define write_c0_vpeconf0(val) __write_32bit_c0_register($1, 2, val) | 29 | #define write_c0_vpeconf0(val) __write_32bit_c0_register($1, 2, val) |
30 | 30 | ||
31 | #define read_c0_vpeconf1() __read_32bit_c0_register($1, 3) | ||
32 | #define write_c0_vpeconf1(val) __write_32bit_c0_register($1, 3, val) | ||
33 | |||
31 | #define read_c0_tcstatus() __read_32bit_c0_register($2, 1) | 34 | #define read_c0_tcstatus() __read_32bit_c0_register($2, 1) |
32 | #define write_c0_tcstatus(val) __write_32bit_c0_register($2, 1, val) | 35 | #define write_c0_tcstatus(val) __write_32bit_c0_register($2, 1, val) |
33 | 36 | ||
@@ -124,6 +127,14 @@ | |||
124 | #define VPECONF0_XTC_SHIFT 21 | 127 | #define VPECONF0_XTC_SHIFT 21 |
125 | #define VPECONF0_XTC (_ULCAST_(0xff) << VPECONF0_XTC_SHIFT) | 128 | #define VPECONF0_XTC (_ULCAST_(0xff) << VPECONF0_XTC_SHIFT) |
126 | 129 | ||
130 | /* VPEConf1 fields (per VPE) */ | ||
131 | #define VPECONF1_NCP1_SHIFT 0 | ||
132 | #define VPECONF1_NCP1 (_ULCAST_(0xff) << VPECONF1_NCP1_SHIFT) | ||
133 | #define VPECONF1_NCP2_SHIFT 10 | ||
134 | #define VPECONF1_NCP2 (_ULCAST_(0xff) << VPECONF1_NCP2_SHIFT) | ||
135 | #define VPECONF1_NCX_SHIFT 20 | ||
136 | #define VPECONF1_NCX (_ULCAST_(0xff) << VPECONF1_NCX_SHIFT) | ||
137 | |||
127 | /* TCStatus fields (per TC) */ | 138 | /* TCStatus fields (per TC) */ |
128 | #define TCSTATUS_TASID (_ULCAST_(0xff)) | 139 | #define TCSTATUS_TASID (_ULCAST_(0xff)) |
129 | #define TCSTATUS_IXMT_SHIFT 10 | 140 | #define TCSTATUS_IXMT_SHIFT 10 |
@@ -350,6 +361,8 @@ do { \ | |||
350 | #define write_vpe_c0_vpecontrol(val) mttc0(1, 1, val) | 361 | #define write_vpe_c0_vpecontrol(val) mttc0(1, 1, val) |
351 | #define read_vpe_c0_vpeconf0() mftc0(1, 2) | 362 | #define read_vpe_c0_vpeconf0() mftc0(1, 2) |
352 | #define write_vpe_c0_vpeconf0(val) mttc0(1, 2, val) | 363 | #define write_vpe_c0_vpeconf0(val) mttc0(1, 2, val) |
364 | #define read_vpe_c0_vpeconf1() mftc0(1, 3) | ||
365 | #define write_vpe_c0_vpeconf1(val) mttc0(1, 3, val) | ||
353 | #define read_vpe_c0_count() mftc0(9, 0) | 366 | #define read_vpe_c0_count() mftc0(9, 0) |
354 | #define write_vpe_c0_count(val) mttc0(9, 0, val) | 367 | #define write_vpe_c0_count(val) mttc0(9, 0, val) |
355 | #define read_vpe_c0_status() mftc0(12, 0) | 368 | #define read_vpe_c0_status() mftc0(12, 0) |