[POWERPC] ps3: multiplatform build fixes
authorArnd Bergmann <arnd@arndb.de>
Mon, 27 Nov 2006 18:18:57 +0000 (19:18 +0100)
committerPaul Mackerras <paulus@samba.org>
Mon, 4 Dec 2006 09:41:16 +0000 (20:41 +1100)
commite22ba7e38144c1cccac5024cfd6ec88bb64d3e1f
tree869b43ec4fcc66b0ff6bb6eb7f735b1846859b8c
parenteb30c72026500f9efa9bb23ab2393d6a9e36c5e1
[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>
arch/powerpc/Kconfig
arch/powerpc/mm/Makefile
arch/powerpc/oprofile/Makefile
arch/powerpc/oprofile/common.c
arch/powerpc/platforms/ps3/mm.c
arch/powerpc/platforms/ps3/setup.c
drivers/ps3/system-bus.c
include/asm-powerpc/firmware.h