diff options
author | Arnd Bergmann <arnd@arndb.de> | 2006-11-27 13:18:57 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-12-04 04:41:16 -0500 |
commit | e22ba7e38144c1cccac5024cfd6ec88bb64d3e1f (patch) | |
tree | 869b43ec4fcc66b0ff6bb6eb7f735b1846859b8c /arch/powerpc/Kconfig | |
parent | eb30c72026500f9efa9bb23ab2393d6a9e36c5e1 (diff) |
[POWERPC] ps3: multiplatform build fixes
A few code paths need to check whether or not they are running
on the PS3's LV1 hypervisor before making hcalls. This introduces
a new firmware feature bit for this, FW_FEATURE_PS3_LV1.
Now when both PS3 and IBM_CELL_BLADE are enabled, but not PSERIES,
FW_FEATURE_PS3_LV1 and FW_FEATURE_LPAR get enabled at compile time,
which is a bug. The same problem can also happen for (PPC_ISERIES &&
!PPC_PSERIES && PPC_SOMETHING_ELSE). In order to solve this, I
introduce a new CONFIG_PPC_NATIVE option that is set when at least
one platform is selected that can run without a hypervisor and then
turns the firmware feature check into a run-time option.
The new cell oprofile support that was recently merged does not
work on hypervisor based platforms like the PS3, therefore make
it depend on PPC_CELL_NATIVE instead of PPC_CELL. This may change
if we get oprofile support for PS3.
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Diffstat (limited to 'arch/powerpc/Kconfig')
-rw-r--r-- | arch/powerpc/Kconfig | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index c0146a40c6f3..c04b7138e1a6 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -390,6 +390,7 @@ config PPC_PSERIES | |||
390 | select PPC_RTAS | 390 | select PPC_RTAS |
391 | select RTAS_ERROR_LOGGING | 391 | select RTAS_ERROR_LOGGING |
392 | select PPC_UDBG_16550 | 392 | select PPC_UDBG_16550 |
393 | select PPC_NATIVE | ||
393 | default y | 394 | default y |
394 | 395 | ||
395 | config PPC_ISERIES | 396 | config PPC_ISERIES |
@@ -406,6 +407,7 @@ config PPC_CHRP | |||
406 | select PPC_RTAS | 407 | select PPC_RTAS |
407 | select PPC_MPC106 | 408 | select PPC_MPC106 |
408 | select PPC_UDBG_16550 | 409 | select PPC_UDBG_16550 |
410 | select PPC_NATIVE | ||
409 | default y | 411 | default y |
410 | 412 | ||
411 | config PPC_EFIKA | 413 | config PPC_EFIKA |
@@ -414,6 +416,7 @@ config PPC_EFIKA | |||
414 | select PPC_RTAS | 416 | select PPC_RTAS |
415 | select RTAS_PROC | 417 | select RTAS_PROC |
416 | select PPC_MPC52xx | 418 | select PPC_MPC52xx |
419 | select PPC_NATIVE | ||
417 | default y | 420 | default y |
418 | 421 | ||
419 | config PPC_PMAC | 422 | config PPC_PMAC |
@@ -422,6 +425,7 @@ config PPC_PMAC | |||
422 | select MPIC | 425 | select MPIC |
423 | select PPC_INDIRECT_PCI if PPC32 | 426 | select PPC_INDIRECT_PCI if PPC32 |
424 | select PPC_MPC106 if PPC32 | 427 | select PPC_MPC106 if PPC32 |
428 | select PPC_NATIVE | ||
425 | default y | 429 | default y |
426 | 430 | ||
427 | config PPC_PMAC64 | 431 | config PPC_PMAC64 |
@@ -441,6 +445,7 @@ config PPC_PREP | |||
441 | select PPC_I8259 | 445 | select PPC_I8259 |
442 | select PPC_INDIRECT_PCI | 446 | select PPC_INDIRECT_PCI |
443 | select PPC_UDBG_16550 | 447 | select PPC_UDBG_16550 |
448 | select PPC_NATIVE | ||
444 | default y | 449 | default y |
445 | 450 | ||
446 | config PPC_MAPLE | 451 | config PPC_MAPLE |
@@ -452,6 +457,7 @@ config PPC_MAPLE | |||
452 | select GENERIC_TBSYNC | 457 | select GENERIC_TBSYNC |
453 | select PPC_UDBG_16550 | 458 | select PPC_UDBG_16550 |
454 | select PPC_970_NAP | 459 | select PPC_970_NAP |
460 | select PPC_NATIVE | ||
455 | default n | 461 | default n |
456 | help | 462 | help |
457 | This option enables support for the Maple 970FX Evaluation Board. | 463 | This option enables support for the Maple 970FX Evaluation Board. |
@@ -464,6 +470,7 @@ config PPC_PASEMI | |||
464 | select MPIC | 470 | select MPIC |
465 | select PPC_UDBG_16550 | 471 | select PPC_UDBG_16550 |
466 | select GENERIC_TBSYNC | 472 | select GENERIC_TBSYNC |
473 | select PPC_NATIVE | ||
467 | help | 474 | help |
468 | This option enables support for PA Semi's PWRficient line | 475 | This option enables support for PA Semi's PWRficient line |
469 | of SoC processors, including PA6T-1682M | 476 | of SoC processors, including PA6T-1682M |
@@ -478,6 +485,7 @@ config PPC_CELL_NATIVE | |||
478 | select PPC_DCR_MMIO | 485 | select PPC_DCR_MMIO |
479 | select PPC_OF_PLATFORM_PCI | 486 | select PPC_OF_PLATFORM_PCI |
480 | select PPC_INDIRECT_IO | 487 | select PPC_INDIRECT_IO |
488 | select PPC_NATIVE | ||
481 | select MPIC | 489 | select MPIC |
482 | default n | 490 | default n |
483 | 491 | ||
@@ -490,11 +498,6 @@ config PPC_IBM_CELL_BLADE | |||
490 | select PPC_UDBG_16550 | 498 | select PPC_UDBG_16550 |
491 | select UDBG_RTAS_CONSOLE | 499 | select UDBG_RTAS_CONSOLE |
492 | 500 | ||
493 | config UDBG_RTAS_CONSOLE | ||
494 | bool "RTAS based debug console" | ||
495 | depends on PPC_RTAS | ||
496 | default n | ||
497 | |||
498 | config PPC_PS3 | 501 | config PPC_PS3 |
499 | bool "Sony PS3" | 502 | bool "Sony PS3" |
500 | depends on PPC_MULTIPLATFORM && PPC64 | 503 | depends on PPC_MULTIPLATFORM && PPC64 |
@@ -503,6 +506,19 @@ config PPC_PS3 | |||
503 | This option enables support for the Sony PS3 game console | 506 | This option enables support for the Sony PS3 game console |
504 | and other platforms using the PS3 hypervisor. | 507 | and other platforms using the PS3 hypervisor. |
505 | 508 | ||
509 | config PPC_NATIVE | ||
510 | bool | ||
511 | depends on PPC_MULTIPLATFORM | ||
512 | help | ||
513 | Support for running natively on the hardware, i.e. without | ||
514 | a hypervisor. This option is not user-selectable but should | ||
515 | be selected by all platforms that need it. | ||
516 | |||
517 | config UDBG_RTAS_CONSOLE | ||
518 | bool "RTAS based debug console" | ||
519 | depends on PPC_RTAS | ||
520 | default n | ||
521 | |||
506 | config XICS | 522 | config XICS |
507 | depends on PPC_PSERIES | 523 | depends on PPC_PSERIES |
508 | bool | 524 | bool |