Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c01ea72a authored by Geoff Levand's avatar Geoff Levand Committed by Paul Mackerras
Browse files

[POWERPC] spufs: split the Cell BE support into generic and platform dependant parts



Creates new config variables PPC_CELL_NATIVE and PPC_IBM_CELL_BLADE.
The existing CONFIG_PPC_CELL is now used to denote the generic
Cell processor support.

PPC_CELL = make descends into platforms/cell
PPC_CELL_NATIVE = add bare metal support
PPC_IBM_CELL_BLADE = add blade device drivers, etc.

Also renames spu_priv1.c to spu_priv1_mmio.c.

Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent e46a0237
Loading
Loading
Loading
Loading
+11 −6
Original line number Original line Diff line number Diff line
@@ -404,8 +404,18 @@ config PPC_MAPLE
	  For more informations, refer to <http://www.970eval.com>
	  For more informations, refer to <http://www.970eval.com>


config PPC_CELL
config PPC_CELL
	bool "Cell Broadband Processor Architecture"
	bool
	default n

config PPC_CELL_NATIVE
	bool
	select PPC_CELL
	default n

config PPC_IBM_CELL_BLADE
	bool "  IBM Cell Blade"
	depends on PPC_MULTIPLATFORM && PPC64
	depends on PPC_MULTIPLATFORM && PPC64
	select PPC_CELL_NATIVE
	select PPC_RTAS
	select PPC_RTAS
	select MMIO_NVRAM
	select MMIO_NVRAM
	select PPC_UDBG_16550
	select PPC_UDBG_16550
@@ -452,11 +462,6 @@ config MPIC_BROKEN_U3
	depends on PPC_MAPLE
	depends on PPC_MAPLE
	default y
	default y


config CELL_IIC
	depends on PPC_CELL
	bool
	default y

config IBMVIO
config IBMVIO
	depends on PPC_PSERIES || PPC_ISERIES
	depends on PPC_PSERIES || PPC_ISERIES
	bool
	bool
+3 −1
Original line number Original line Diff line number Diff line
@@ -117,6 +117,8 @@ CONFIG_PPC_MULTIPLATFORM=y
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_MAPLE is not set
# CONFIG_PPC_MAPLE is not set
CONFIG_PPC_CELL=y
CONFIG_PPC_CELL=y
CONFIG_PPC_CELL_NATIVE=y
CONFIG_PPC_IBM_CELL_BLADE=y
CONFIG_PPC_SYSTEMSIM=y
CONFIG_PPC_SYSTEMSIM=y
# CONFIG_U3_DART is not set
# CONFIG_U3_DART is not set
CONFIG_PPC_RTAS=y
CONFIG_PPC_RTAS=y
@@ -124,7 +126,6 @@ CONFIG_PPC_RTAS=y
CONFIG_RTAS_PROC=y
CONFIG_RTAS_PROC=y
CONFIG_RTAS_FLASH=y
CONFIG_RTAS_FLASH=y
CONFIG_MMIO_NVRAM=y
CONFIG_MMIO_NVRAM=y
CONFIG_CELL_IIC=y
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_970_NAP is not set
# CONFIG_PPC_970_NAP is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_CPU_FREQ is not set
@@ -134,6 +135,7 @@ CONFIG_CELL_IIC=y
# Cell Broadband Engine options
# Cell Broadband Engine options
#
#
CONFIG_SPU_FS=m
CONFIG_SPU_FS=m
CONFIG_SPU_BASE=y
CONFIG_SPUFS_MMAP=y
CONFIG_SPUFS_MMAP=y
CONFIG_CBE_RAS=y
CONFIG_CBE_RAS=y


+5 −0
Original line number Original line Diff line number Diff line
@@ -5,11 +5,16 @@ config SPU_FS
	tristate "SPU file system"
	tristate "SPU file system"
	default m
	default m
	depends on PPC_CELL
	depends on PPC_CELL
	select SPU_BASE
	help
	help
	  The SPU file system is used to access Synergistic Processing
	  The SPU file system is used to access Synergistic Processing
	  Units on machines implementing the Broadband Processor
	  Units on machines implementing the Broadband Processor
	  Architecture.
	  Architecture.


config SPU_BASE
	bool
	default n

config SPUFS_MMAP
config SPUFS_MMAP
	bool
	bool
	depends on SPU_FS && SPARSEMEM
	depends on SPU_FS && SPARSEMEM
+11 −9
Original line number Original line Diff line number Diff line
obj-y			+= interrupt.o iommu.o setup.o spider-pic.o
obj-$(CONFIG_PPC_CELL_NATIVE)		+= interrupt.o iommu.o setup.o \
obj-y			+= cbe_regs.o pervasive.o
					   cbe_regs.o spider-pic.o pervasive.o
obj-$(CONFIG_CBE_RAS)			+= ras.o
obj-$(CONFIG_CBE_RAS)			+= ras.o


obj-$(CONFIG_SMP)	+= smp.o
ifeq ($(CONFIG_SMP),y)
obj-$(CONFIG_PPC_CELL_NATIVE)		+= smp.o
endif


# needed only when building loadable spufs.ko
# needed only when building loadable spufs.ko
spufs-modular-$(CONFIG_SPU_FS)		+= spu_syscalls.o
spufs-modular-$(CONFIG_SPU_FS)		+= spu_syscalls.o
obj-y			+= $(spufs-modular-m)
spu-priv1-$(CONFIG_PPC_CELL_NATIVE)	+= spu_priv1_mmio.o


# always needed in kernel
obj-$(CONFIG_SPU_BASE)			+= spu_callbacks.o spu_base.o \
spufs-builtin-$(CONFIG_SPU_FS) += spu_callbacks.o spu_base.o spu_priv1.o spufs/
					   $(spufs-modular-m) \
obj-y			+= $(spufs-builtin-y) $(spufs-builtin-m)
					   $(spu-priv1-y) spufs/
Loading