diff options
-rw-r--r-- | arch/mips/Kconfig | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 87f0b79c6b15..ee5fbb02b28f 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -1067,6 +1067,7 @@ choice | |||
1067 | config CPU_MIPS32_R1 | 1067 | config CPU_MIPS32_R1 |
1068 | bool "MIPS32 Release 1" | 1068 | bool "MIPS32 Release 1" |
1069 | depends on SYS_HAS_CPU_MIPS32_R1 | 1069 | depends on SYS_HAS_CPU_MIPS32_R1 |
1070 | select CPU_HAS_LLSC | ||
1070 | select CPU_HAS_PREFETCH | 1071 | select CPU_HAS_PREFETCH |
1071 | select CPU_SUPPORTS_32BIT_KERNEL | 1072 | select CPU_SUPPORTS_32BIT_KERNEL |
1072 | select CPU_SUPPORTS_HIGHMEM | 1073 | select CPU_SUPPORTS_HIGHMEM |
@@ -1084,6 +1085,7 @@ config CPU_MIPS32_R1 | |||
1084 | config CPU_MIPS32_R2 | 1085 | config CPU_MIPS32_R2 |
1085 | bool "MIPS32 Release 2" | 1086 | bool "MIPS32 Release 2" |
1086 | depends on SYS_HAS_CPU_MIPS32_R2 | 1087 | depends on SYS_HAS_CPU_MIPS32_R2 |
1088 | select CPU_HAS_LLSC | ||
1087 | select CPU_HAS_PREFETCH | 1089 | select CPU_HAS_PREFETCH |
1088 | select CPU_SUPPORTS_32BIT_KERNEL | 1090 | select CPU_SUPPORTS_32BIT_KERNEL |
1089 | select CPU_SUPPORTS_HIGHMEM | 1091 | select CPU_SUPPORTS_HIGHMEM |
@@ -1097,6 +1099,7 @@ config CPU_MIPS32_R2 | |||
1097 | config CPU_MIPS64_R1 | 1099 | config CPU_MIPS64_R1 |
1098 | bool "MIPS64 Release 1" | 1100 | bool "MIPS64 Release 1" |
1099 | depends on SYS_HAS_CPU_MIPS64_R1 | 1101 | depends on SYS_HAS_CPU_MIPS64_R1 |
1102 | select CPU_HAS_LLSC | ||
1100 | select CPU_HAS_PREFETCH | 1103 | select CPU_HAS_PREFETCH |
1101 | select CPU_SUPPORTS_32BIT_KERNEL | 1104 | select CPU_SUPPORTS_32BIT_KERNEL |
1102 | select CPU_SUPPORTS_64BIT_KERNEL | 1105 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1115,6 +1118,7 @@ config CPU_MIPS64_R1 | |||
1115 | config CPU_MIPS64_R2 | 1118 | config CPU_MIPS64_R2 |
1116 | bool "MIPS64 Release 2" | 1119 | bool "MIPS64 Release 2" |
1117 | depends on SYS_HAS_CPU_MIPS64_R2 | 1120 | depends on SYS_HAS_CPU_MIPS64_R2 |
1121 | select CPU_HAS_LLSC | ||
1118 | select CPU_HAS_PREFETCH | 1122 | select CPU_HAS_PREFETCH |
1119 | select CPU_SUPPORTS_32BIT_KERNEL | 1123 | select CPU_SUPPORTS_32BIT_KERNEL |
1120 | select CPU_SUPPORTS_64BIT_KERNEL | 1124 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1129,6 +1133,7 @@ config CPU_MIPS64_R2 | |||
1129 | config CPU_R3000 | 1133 | config CPU_R3000 |
1130 | bool "R3000" | 1134 | bool "R3000" |
1131 | depends on SYS_HAS_CPU_R3000 | 1135 | depends on SYS_HAS_CPU_R3000 |
1136 | select CPU_HAS_WB | ||
1132 | select CPU_SUPPORTS_32BIT_KERNEL | 1137 | select CPU_SUPPORTS_32BIT_KERNEL |
1133 | select CPU_SUPPORTS_HIGHMEM | 1138 | select CPU_SUPPORTS_HIGHMEM |
1134 | help | 1139 | help |
@@ -1158,6 +1163,7 @@ config CPU_VR41XX | |||
1158 | config CPU_R4300 | 1163 | config CPU_R4300 |
1159 | bool "R4300" | 1164 | bool "R4300" |
1160 | depends on SYS_HAS_CPU_R4300 | 1165 | depends on SYS_HAS_CPU_R4300 |
1166 | select CPU_HAS_LLSC | ||
1161 | select CPU_SUPPORTS_32BIT_KERNEL | 1167 | select CPU_SUPPORTS_32BIT_KERNEL |
1162 | select CPU_SUPPORTS_64BIT_KERNEL | 1168 | select CPU_SUPPORTS_64BIT_KERNEL |
1163 | help | 1169 | help |
@@ -1166,6 +1172,7 @@ config CPU_R4300 | |||
1166 | config CPU_R4X00 | 1172 | config CPU_R4X00 |
1167 | bool "R4x00" | 1173 | bool "R4x00" |
1168 | depends on SYS_HAS_CPU_R4X00 | 1174 | depends on SYS_HAS_CPU_R4X00 |
1175 | select CPU_HAS_LLSC | ||
1169 | select CPU_SUPPORTS_32BIT_KERNEL | 1176 | select CPU_SUPPORTS_32BIT_KERNEL |
1170 | select CPU_SUPPORTS_64BIT_KERNEL | 1177 | select CPU_SUPPORTS_64BIT_KERNEL |
1171 | help | 1178 | help |
@@ -1175,6 +1182,7 @@ config CPU_R4X00 | |||
1175 | config CPU_TX49XX | 1182 | config CPU_TX49XX |
1176 | bool "R49XX" | 1183 | bool "R49XX" |
1177 | depends on SYS_HAS_CPU_TX49XX | 1184 | depends on SYS_HAS_CPU_TX49XX |
1185 | select CPU_HAS_LLSC | ||
1178 | select CPU_HAS_PREFETCH | 1186 | select CPU_HAS_PREFETCH |
1179 | select CPU_SUPPORTS_32BIT_KERNEL | 1187 | select CPU_SUPPORTS_32BIT_KERNEL |
1180 | select CPU_SUPPORTS_64BIT_KERNEL | 1188 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1182,6 +1190,7 @@ config CPU_TX49XX | |||
1182 | config CPU_R5000 | 1190 | config CPU_R5000 |
1183 | bool "R5000" | 1191 | bool "R5000" |
1184 | depends on SYS_HAS_CPU_R5000 | 1192 | depends on SYS_HAS_CPU_R5000 |
1193 | select CPU_HAS_LLSC | ||
1185 | select CPU_SUPPORTS_32BIT_KERNEL | 1194 | select CPU_SUPPORTS_32BIT_KERNEL |
1186 | select CPU_SUPPORTS_64BIT_KERNEL | 1195 | select CPU_SUPPORTS_64BIT_KERNEL |
1187 | help | 1196 | help |
@@ -1190,12 +1199,14 @@ config CPU_R5000 | |||
1190 | config CPU_R5432 | 1199 | config CPU_R5432 |
1191 | bool "R5432" | 1200 | bool "R5432" |
1192 | depends on SYS_HAS_CPU_R5432 | 1201 | depends on SYS_HAS_CPU_R5432 |
1202 | select CPU_HAS_LLSC | ||
1193 | select CPU_SUPPORTS_32BIT_KERNEL | 1203 | select CPU_SUPPORTS_32BIT_KERNEL |
1194 | select CPU_SUPPORTS_64BIT_KERNEL | 1204 | select CPU_SUPPORTS_64BIT_KERNEL |
1195 | 1205 | ||
1196 | config CPU_R6000 | 1206 | config CPU_R6000 |
1197 | bool "R6000" | 1207 | bool "R6000" |
1198 | depends on EXPERIMENTAL | 1208 | depends on EXPERIMENTAL |
1209 | select CPU_HAS_LLSC | ||
1199 | depends on SYS_HAS_CPU_R6000 | 1210 | depends on SYS_HAS_CPU_R6000 |
1200 | select CPU_SUPPORTS_32BIT_KERNEL | 1211 | select CPU_SUPPORTS_32BIT_KERNEL |
1201 | help | 1212 | help |
@@ -1205,6 +1216,7 @@ config CPU_R6000 | |||
1205 | config CPU_NEVADA | 1216 | config CPU_NEVADA |
1206 | bool "RM52xx" | 1217 | bool "RM52xx" |
1207 | depends on SYS_HAS_CPU_NEVADA | 1218 | depends on SYS_HAS_CPU_NEVADA |
1219 | select CPU_HAS_LLSC | ||
1208 | select CPU_SUPPORTS_32BIT_KERNEL | 1220 | select CPU_SUPPORTS_32BIT_KERNEL |
1209 | select CPU_SUPPORTS_64BIT_KERNEL | 1221 | select CPU_SUPPORTS_64BIT_KERNEL |
1210 | help | 1222 | help |
@@ -1214,6 +1226,7 @@ config CPU_R8000 | |||
1214 | bool "R8000" | 1226 | bool "R8000" |
1215 | depends on EXPERIMENTAL | 1227 | depends on EXPERIMENTAL |
1216 | depends on SYS_HAS_CPU_R8000 | 1228 | depends on SYS_HAS_CPU_R8000 |
1229 | select CPU_HAS_LLSC | ||
1217 | select CPU_HAS_PREFETCH | 1230 | select CPU_HAS_PREFETCH |
1218 | select CPU_SUPPORTS_64BIT_KERNEL | 1231 | select CPU_SUPPORTS_64BIT_KERNEL |
1219 | help | 1232 | help |
@@ -1223,6 +1236,7 @@ config CPU_R8000 | |||
1223 | config CPU_R10000 | 1236 | config CPU_R10000 |
1224 | bool "R10000" | 1237 | bool "R10000" |
1225 | depends on SYS_HAS_CPU_R10000 | 1238 | depends on SYS_HAS_CPU_R10000 |
1239 | select CPU_HAS_LLSC | ||
1226 | select CPU_HAS_PREFETCH | 1240 | select CPU_HAS_PREFETCH |
1227 | select CPU_SUPPORTS_32BIT_KERNEL | 1241 | select CPU_SUPPORTS_32BIT_KERNEL |
1228 | select CPU_SUPPORTS_64BIT_KERNEL | 1242 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1233,6 +1247,7 @@ config CPU_R10000 | |||
1233 | config CPU_RM7000 | 1247 | config CPU_RM7000 |
1234 | bool "RM7000" | 1248 | bool "RM7000" |
1235 | depends on SYS_HAS_CPU_RM7000 | 1249 | depends on SYS_HAS_CPU_RM7000 |
1250 | select CPU_HAS_LLSC | ||
1236 | select CPU_HAS_PREFETCH | 1251 | select CPU_HAS_PREFETCH |
1237 | select CPU_SUPPORTS_32BIT_KERNEL | 1252 | select CPU_SUPPORTS_32BIT_KERNEL |
1238 | select CPU_SUPPORTS_64BIT_KERNEL | 1253 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1241,6 +1256,7 @@ config CPU_RM7000 | |||
1241 | config CPU_RM9000 | 1256 | config CPU_RM9000 |
1242 | bool "RM9000" | 1257 | bool "RM9000" |
1243 | depends on SYS_HAS_CPU_RM9000 | 1258 | depends on SYS_HAS_CPU_RM9000 |
1259 | select CPU_HAS_LLSC | ||
1244 | select CPU_HAS_PREFETCH | 1260 | select CPU_HAS_PREFETCH |
1245 | select CPU_SUPPORTS_32BIT_KERNEL | 1261 | select CPU_SUPPORTS_32BIT_KERNEL |
1246 | select CPU_SUPPORTS_64BIT_KERNEL | 1262 | select CPU_SUPPORTS_64BIT_KERNEL |
@@ -1249,6 +1265,7 @@ config CPU_RM9000 | |||
1249 | config CPU_SB1 | 1265 | config CPU_SB1 |
1250 | bool "SB1" | 1266 | bool "SB1" |
1251 | depends on SYS_HAS_CPU_SB1 | 1267 | depends on SYS_HAS_CPU_SB1 |
1268 | select CPU_HAS_LLSC | ||
1252 | select CPU_SUPPORTS_32BIT_KERNEL | 1269 | select CPU_SUPPORTS_32BIT_KERNEL |
1253 | select CPU_SUPPORTS_64BIT_KERNEL | 1270 | select CPU_SUPPORTS_64BIT_KERNEL |
1254 | select CPU_SUPPORTS_HIGHMEM | 1271 | select CPU_SUPPORTS_HIGHMEM |
@@ -1449,6 +1466,8 @@ choice | |||
1449 | 1466 | ||
1450 | config MIPS_MT_SMTC | 1467 | config MIPS_MT_SMTC |
1451 | bool "SMTC: Use all TCs on all VPEs for SMP" | 1468 | bool "SMTC: Use all TCs on all VPEs for SMP" |
1469 | select CPU_MIPSR2_IRQ_VI | ||
1470 | select CPU_MIPSR2_SRS | ||
1452 | select SMP | 1471 | select SMP |
1453 | 1472 | ||
1454 | config MIPS_MT_SMP | 1473 | config MIPS_MT_SMP |
@@ -1514,38 +1533,15 @@ config 64BIT_PHYS_ADDR | |||
1514 | bool "Support for 64-bit physical address space" | 1533 | bool "Support for 64-bit physical address space" |
1515 | depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT | 1534 | depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT |
1516 | 1535 | ||
1517 | config CPU_ADVANCED | ||
1518 | bool "Override CPU Options" | ||
1519 | depends on 32BIT | ||
1520 | help | ||
1521 | Saying yes here allows you to select support for various features | ||
1522 | your CPU may or may not have. Most people should say N here. | ||
1523 | |||
1524 | config CPU_HAS_LLSC | 1536 | config CPU_HAS_LLSC |
1525 | bool "ll/sc Instructions available" if CPU_ADVANCED | 1537 | bool |
1526 | default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX | ||
1527 | help | ||
1528 | MIPS R4000 series and later provide the Load Linked (ll) | ||
1529 | and Store Conditional (sc) instructions. More information is | ||
1530 | available at <http://www.go-ecs.com/mips/miptek1.htm>. | ||
1531 | |||
1532 | Say Y here if your CPU has the ll and sc instructions. Say Y here | ||
1533 | for better performance, N if you don't know. You must say Y here | ||
1534 | for multiprocessor machines. | ||
1535 | 1538 | ||
1536 | config CPU_HAS_WB | 1539 | config CPU_HAS_WB |
1537 | bool "Writeback Buffer available" if CPU_ADVANCED | 1540 | bool |
1538 | default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION | ||
1539 | help | ||
1540 | Say N here for slightly better performance. You must say Y here for | ||
1541 | machines which require flushing of write buffers in software. Saying | ||
1542 | Y is the safe option; N may result in kernel malfunction and crashes. | ||
1543 | |||
1544 | menu "MIPSR2 Interrupt handling" | ||
1545 | depends on CPU_MIPSR2 && CPU_ADVANCED | ||
1546 | 1541 | ||
1547 | config CPU_MIPSR2_IRQ_VI | 1542 | config CPU_MIPSR2_IRQ_VI |
1548 | bool "Vectored interrupt mode" | 1543 | bool "Vectored interrupt mode" |
1544 | depends on CPU_MIPSR2 | ||
1549 | help | 1545 | help |
1550 | Vectored interrupt mode allowing faster dispatching of interrupts. | 1546 | Vectored interrupt mode allowing faster dispatching of interrupts. |
1551 | The board support code needs to be written to take advantage of this | 1547 | The board support code needs to be written to take advantage of this |
@@ -1555,6 +1551,7 @@ config CPU_MIPSR2_IRQ_VI | |||
1555 | 1551 | ||
1556 | config CPU_MIPSR2_IRQ_EI | 1552 | config CPU_MIPSR2_IRQ_EI |
1557 | bool "External interrupt controller mode" | 1553 | bool "External interrupt controller mode" |
1554 | depends on CPU_MIPSR2 | ||
1558 | help | 1555 | help |
1559 | Extended interrupt mode takes advantage of an external interrupt | 1556 | Extended interrupt mode takes advantage of an external interrupt |
1560 | controller to allow fast dispatching from many possible interrupt | 1557 | controller to allow fast dispatching from many possible interrupt |
@@ -1568,7 +1565,6 @@ config CPU_MIPSR2_SRS | |||
1568 | Allow the kernel to use shadow register sets for fast interrupts. | 1565 | Allow the kernel to use shadow register sets for fast interrupts. |
1569 | Interrupt handlers must be specially written to use shadow sets. | 1566 | Interrupt handlers must be specially written to use shadow sets. |
1570 | Say N unless you know that shadow register set upport is needed. | 1567 | Say N unless you know that shadow register set upport is needed. |
1571 | endmenu | ||
1572 | 1568 | ||
1573 | config CPU_HAS_SYNC | 1569 | config CPU_HAS_SYNC |
1574 | bool | 1570 | bool |