diff options
Diffstat (limited to 'arch/mips/Kconfig')
-rw-r--r-- | arch/mips/Kconfig | 101 |
1 files changed, 69 insertions, 32 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 35e038a974c6..747a9c1228f2 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -308,6 +308,7 @@ config MIPS_ATLAS | |||
308 | select SYS_SUPPORTS_64BIT_KERNEL | 308 | select SYS_SUPPORTS_64BIT_KERNEL |
309 | select SYS_SUPPORTS_BIG_ENDIAN | 309 | select SYS_SUPPORTS_BIG_ENDIAN |
310 | select SYS_SUPPORTS_LITTLE_ENDIAN | 310 | select SYS_SUPPORTS_LITTLE_ENDIAN |
311 | select SYS_SUPPORTS_MULTITHREADING if EXPERIMENTAL | ||
311 | help | 312 | help |
312 | This enables support for the MIPS Technologies Atlas evaluation | 313 | This enables support for the MIPS Technologies Atlas evaluation |
313 | board. | 314 | board. |
@@ -324,6 +325,7 @@ config MIPS_MALTA | |||
324 | select I8259 | 325 | select I8259 |
325 | select MIPS_BOARDS_GEN | 326 | select MIPS_BOARDS_GEN |
326 | select MIPS_BONITO64 | 327 | select MIPS_BONITO64 |
328 | select MIPS_CPU_SCACHE | ||
327 | select MIPS_GT64120 | 329 | select MIPS_GT64120 |
328 | select MIPS_MSC | 330 | select MIPS_MSC |
329 | select SWAP_IO_SPACE | 331 | select SWAP_IO_SPACE |
@@ -336,6 +338,7 @@ config MIPS_MALTA | |||
336 | select SYS_SUPPORTS_64BIT_KERNEL | 338 | select SYS_SUPPORTS_64BIT_KERNEL |
337 | select SYS_SUPPORTS_BIG_ENDIAN | 339 | select SYS_SUPPORTS_BIG_ENDIAN |
338 | select SYS_SUPPORTS_LITTLE_ENDIAN | 340 | select SYS_SUPPORTS_LITTLE_ENDIAN |
341 | select SYS_SUPPORTS_MULTITHREADING | ||
339 | help | 342 | help |
340 | This enables support for the MIPS Technologies Malta evaluation | 343 | This enables support for the MIPS Technologies Malta evaluation |
341 | board. | 344 | board. |
@@ -358,7 +361,7 @@ config MIPS_SEAD | |||
358 | board. | 361 | board. |
359 | 362 | ||
360 | config WR_PPMC | 363 | config WR_PPMC |
361 | bool "Support for Wind River PPMC board" | 364 | bool "Wind River PPMC board" |
362 | select IRQ_CPU | 365 | select IRQ_CPU |
363 | select BOOT_ELF32 | 366 | select BOOT_ELF32 |
364 | select DMA_NONCOHERENT | 367 | select DMA_NONCOHERENT |
@@ -536,6 +539,7 @@ config PMC_YOSEMITE | |||
536 | select SYS_SUPPORTS_64BIT_KERNEL | 539 | select SYS_SUPPORTS_64BIT_KERNEL |
537 | select SYS_SUPPORTS_BIG_ENDIAN | 540 | select SYS_SUPPORTS_BIG_ENDIAN |
538 | select SYS_SUPPORTS_HIGHMEM | 541 | select SYS_SUPPORTS_HIGHMEM |
542 | select SYS_SUPPORTS_SMP | ||
539 | help | 543 | help |
540 | Yosemite is an evaluation board for the RM9000x2 processor | 544 | Yosemite is an evaluation board for the RM9000x2 processor |
541 | manufactured by PMC-Sierra. | 545 | manufactured by PMC-Sierra. |
@@ -590,6 +594,7 @@ config SGI_IP22 | |||
590 | select SYS_SUPPORTS_32BIT_KERNEL | 594 | select SYS_SUPPORTS_32BIT_KERNEL |
591 | select SYS_SUPPORTS_64BIT_KERNEL | 595 | select SYS_SUPPORTS_64BIT_KERNEL |
592 | select SYS_SUPPORTS_BIG_ENDIAN | 596 | select SYS_SUPPORTS_BIG_ENDIAN |
597 | select SYS_SUPPORTS_SMP | ||
593 | help | 598 | help |
594 | This are the SGI Indy, Challenge S and Indigo2, as well as certain | 599 | This are the SGI Indy, Challenge S and Indigo2, as well as certain |
595 | OEM variants like the Tandem CMN B006S. To compile a Linux kernel | 600 | OEM variants like the Tandem CMN B006S. To compile a Linux kernel |
@@ -601,6 +606,7 @@ config SGI_IP27 | |||
601 | select ARC64 | 606 | select ARC64 |
602 | select BOOT_ELF64 | 607 | select BOOT_ELF64 |
603 | select DMA_IP27 | 608 | select DMA_IP27 |
609 | select EARLY_PRINTK | ||
604 | select HW_HAS_PCI | 610 | select HW_HAS_PCI |
605 | select PCI_DOMAINS | 611 | select PCI_DOMAINS |
606 | select SYS_HAS_CPU_R10000 | 612 | select SYS_HAS_CPU_R10000 |
@@ -1249,7 +1255,7 @@ config CPU_R6000 | |||
1249 | select CPU_SUPPORTS_32BIT_KERNEL | 1255 | select CPU_SUPPORTS_32BIT_KERNEL |
1250 | help | 1256 | help |
1251 | MIPS Technologies R6000 and R6000A series processors. Note these | 1257 | MIPS Technologies R6000 and R6000A series processors. Note these |
1252 | processors are extremly rare and the support for them is incomplete. | 1258 | processors are extremely rare and the support for them is incomplete. |
1253 | 1259 | ||
1254 | config CPU_NEVADA | 1260 | config CPU_NEVADA |
1255 | bool "RM52xx" | 1261 | bool "RM52xx" |
@@ -1370,7 +1376,7 @@ config SYS_HAS_CPU_SB1 | |||
1370 | endmenu | 1376 | endmenu |
1371 | 1377 | ||
1372 | # | 1378 | # |
1373 | # These two indicate any levelof the MIPS32 and MIPS64 architecture | 1379 | # These two indicate any level of the MIPS32 and MIPS64 architecture |
1374 | # | 1380 | # |
1375 | config CPU_MIPS32 | 1381 | config CPU_MIPS32 |
1376 | bool | 1382 | bool |
@@ -1381,7 +1387,7 @@ config CPU_MIPS64 | |||
1381 | default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 | 1387 | default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 |
1382 | 1388 | ||
1383 | # | 1389 | # |
1384 | # These two indicate the revision of the architecture, either 32 bot 64 bit. | 1390 | # These two indicate the revision of the architecture, either Release 1 or Release 2 |
1385 | # | 1391 | # |
1386 | config CPU_MIPSR1 | 1392 | config CPU_MIPSR1 |
1387 | bool | 1393 | bool |
@@ -1474,6 +1480,13 @@ config IP22_CPU_SCACHE | |||
1474 | bool | 1480 | bool |
1475 | select BOARD_SCACHE | 1481 | select BOARD_SCACHE |
1476 | 1482 | ||
1483 | # | ||
1484 | # Support for a MIPS32 / MIPS64 style S-caches | ||
1485 | # | ||
1486 | config MIPS_CPU_SCACHE | ||
1487 | bool | ||
1488 | select BOARD_SCACHE | ||
1489 | |||
1477 | config R5000_CPU_SCACHE | 1490 | config R5000_CPU_SCACHE |
1478 | bool | 1491 | bool |
1479 | select BOARD_SCACHE | 1492 | select BOARD_SCACHE |
@@ -1493,32 +1506,57 @@ config SIBYTE_DMA_PAGEOPS | |||
1493 | config CPU_HAS_PREFETCH | 1506 | config CPU_HAS_PREFETCH |
1494 | bool | 1507 | bool |
1495 | 1508 | ||
1496 | config MIPS_MT | ||
1497 | bool "Enable MIPS MT" | ||
1498 | |||
1499 | choice | 1509 | choice |
1500 | prompt "MIPS MT options" | 1510 | prompt "MIPS MT options" |
1501 | depends on MIPS_MT | 1511 | |
1512 | config MIPS_MT_DISABLED | ||
1513 | bool "Disable multithreading support." | ||
1514 | help | ||
1515 | Use this option if your workload can't take advantage of | ||
1516 | MIPS hardware multithreading support. On systems that don't have | ||
1517 | the option of an MT-enabled processor this option will be the only | ||
1518 | option in this menu. | ||
1502 | 1519 | ||
1503 | config MIPS_MT_SMTC | 1520 | config MIPS_MT_SMTC |
1504 | bool "SMTC: Use all TCs on all VPEs for SMP" | 1521 | bool "SMTC: Use all TCs on all VPEs for SMP" |
1522 | depends on CPU_MIPS32_R2 | ||
1523 | #depends on CPU_MIPS64_R2 # once there is hardware ... | ||
1524 | depends on SYS_SUPPORTS_MULTITHREADING | ||
1505 | select CPU_MIPSR2_IRQ_VI | 1525 | select CPU_MIPSR2_IRQ_VI |
1506 | select CPU_MIPSR2_SRS | 1526 | select CPU_MIPSR2_SRS |
1527 | select MIPS_MT | ||
1507 | select SMP | 1528 | select SMP |
1529 | help | ||
1530 | This is a kernel model which is known a SMTC or lately has been | ||
1531 | marketesed into SMVP. | ||
1508 | 1532 | ||
1509 | config MIPS_MT_SMP | 1533 | config MIPS_MT_SMP |
1510 | bool "Use 1 TC on each available VPE for SMP" | 1534 | bool "Use 1 TC on each available VPE for SMP" |
1535 | depends on SYS_SUPPORTS_MULTITHREADING | ||
1536 | select CPU_MIPSR2_IRQ_VI | ||
1537 | select CPU_MIPSR2_SRS | ||
1538 | select MIPS_MT | ||
1511 | select SMP | 1539 | select SMP |
1540 | help | ||
1541 | This is a kernel model which is also known a VSMP or lately | ||
1542 | has been marketesed into SMVP. | ||
1512 | 1543 | ||
1513 | config MIPS_VPE_LOADER | 1544 | config MIPS_VPE_LOADER |
1514 | bool "VPE loader support." | 1545 | bool "VPE loader support." |
1515 | depends on MIPS_MT | 1546 | depends on SYS_SUPPORTS_MULTITHREADING |
1547 | select MIPS_MT | ||
1516 | help | 1548 | help |
1517 | Includes a loader for loading an elf relocatable object | 1549 | Includes a loader for loading an elf relocatable object |
1518 | onto another VPE and running it. | 1550 | onto another VPE and running it. |
1519 | 1551 | ||
1520 | endchoice | 1552 | endchoice |
1521 | 1553 | ||
1554 | config MIPS_MT | ||
1555 | bool | ||
1556 | |||
1557 | config SYS_SUPPORTS_MULTITHREADING | ||
1558 | bool | ||
1559 | |||
1522 | config MIPS_MT_FPAFF | 1560 | config MIPS_MT_FPAFF |
1523 | bool "Dynamic FPU affinity for FP-intensive threads" | 1561 | bool "Dynamic FPU affinity for FP-intensive threads" |
1524 | depends on MIPS_MT | 1562 | depends on MIPS_MT |
@@ -1575,32 +1613,23 @@ config CPU_HAS_LLSC | |||
1575 | config CPU_HAS_WB | 1613 | config CPU_HAS_WB |
1576 | bool | 1614 | bool |
1577 | 1615 | ||
1616 | # | ||
1617 | # Vectored interrupt mode is an R2 feature | ||
1618 | # | ||
1578 | config CPU_MIPSR2_IRQ_VI | 1619 | config CPU_MIPSR2_IRQ_VI |
1579 | bool "Vectored interrupt mode" | 1620 | bool |
1580 | depends on CPU_MIPSR2 | ||
1581 | help | ||
1582 | Vectored interrupt mode allowing faster dispatching of interrupts. | ||
1583 | The board support code needs to be written to take advantage of this | ||
1584 | mode. Compatibility code is included to allow the kernel to run on | ||
1585 | a CPU that does not support vectored interrupts. It's safe to | ||
1586 | say Y here. | ||
1587 | 1621 | ||
1622 | # | ||
1623 | # Extended interrupt mode is an R2 feature | ||
1624 | # | ||
1588 | config CPU_MIPSR2_IRQ_EI | 1625 | config CPU_MIPSR2_IRQ_EI |
1589 | bool "External interrupt controller mode" | 1626 | bool |
1590 | depends on CPU_MIPSR2 | ||
1591 | help | ||
1592 | Extended interrupt mode takes advantage of an external interrupt | ||
1593 | controller to allow fast dispatching from many possible interrupt | ||
1594 | sources. Say N unless you know that external interrupt support is | ||
1595 | required. | ||
1596 | 1627 | ||
1628 | # | ||
1629 | # Shadow registers are an R2 feature | ||
1630 | # | ||
1597 | config CPU_MIPSR2_SRS | 1631 | config CPU_MIPSR2_SRS |
1598 | bool "Make shadow set registers available for interrupt handlers" | 1632 | bool |
1599 | depends on CPU_MIPSR2_IRQ_VI || CPU_MIPSR2_IRQ_EI | ||
1600 | help | ||
1601 | Allow the kernel to use shadow register sets for fast interrupts. | ||
1602 | Interrupt handlers must be specially written to use shadow sets. | ||
1603 | Say N unless you know that shadow register set upport is needed. | ||
1604 | 1633 | ||
1605 | config CPU_HAS_SYNC | 1634 | config CPU_HAS_SYNC |
1606 | bool | 1635 | bool |
@@ -1618,6 +1647,11 @@ config GENERIC_IRQ_PROBE | |||
1618 | bool | 1647 | bool |
1619 | default y | 1648 | default y |
1620 | 1649 | ||
1650 | config IRQ_PER_CPU | ||
1651 | depends on SMP | ||
1652 | bool | ||
1653 | default y | ||
1654 | |||
1621 | # | 1655 | # |
1622 | # - Highmem only makes sense for the 32-bit kernel. | 1656 | # - Highmem only makes sense for the 32-bit kernel. |
1623 | # - The current highmem code will only work properly on physically indexed | 1657 | # - The current highmem code will only work properly on physically indexed |
@@ -1676,8 +1710,8 @@ source "mm/Kconfig" | |||
1676 | 1710 | ||
1677 | config SMP | 1711 | config SMP |
1678 | bool "Multi-Processing support" | 1712 | bool "Multi-Processing support" |
1679 | depends on CPU_RM9000 || ((SIBYTE_BCM1x80 || SIBYTE_BCM1x55 || SIBYTE_SB1250 || QEMU) && !SIBYTE_STANDALONE) || SGI_IP27 || MIPS_MT_SMP || MIPS_MT_SMTC | 1713 | depends on SYS_SUPPORTS_SMP |
1680 | ---help--- | 1714 | help |
1681 | This enables support for systems with more than one CPU. If you have | 1715 | This enables support for systems with more than one CPU. If you have |
1682 | a system with only one CPU, like most personal computers, say N. If | 1716 | a system with only one CPU, like most personal computers, say N. If |
1683 | you have a system with more than one CPU, say Y. | 1717 | you have a system with more than one CPU, say Y. |
@@ -1696,6 +1730,9 @@ config SMP | |||
1696 | 1730 | ||
1697 | If you don't know what to do here, say N. | 1731 | If you don't know what to do here, say N. |
1698 | 1732 | ||
1733 | config SYS_SUPPORTS_SMP | ||
1734 | bool | ||
1735 | |||
1699 | config NR_CPUS | 1736 | config NR_CPUS |
1700 | int "Maximum number of CPUs (2-64)" | 1737 | int "Maximum number of CPUs (2-64)" |
1701 | range 2 64 | 1738 | range 2 64 |