Skip to contentSkip to conversation

powerpc: add support for ps3 platform

PATCH In review Geoff Levand 1 participant 1 message Nov 22, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 4/14 powerpc: add support for ps3 platform

From: Geoff Levand <[email protected]>

Adds the core platform support for the PS3 game console and other devices using the PS3 hypervisor.

---
 MAINTAINERS                           |    7 
 arch/powerpc/Kconfig                  |   11 
 arch/powerpc/platforms/Makefile       |    1 
 arch/powerpc/platforms/ps3/Kconfig    |   32 +
 arch/powerpc/platforms/ps3/Makefile   |    2 
 arch/powerpc/platforms/ps3/mm.c       |  827 ++++++++++++++++++++++++++++++++++
 arch/powerpc/platforms/ps3/platform.h |   60 ++
 arch/powerpc/platforms/ps3/setup.c    |  173 +++++++
 arch/powerpc/platforms/ps3/smp.c      |  158 ++++++
 arch/powerpc/platforms/ps3/time.c     |  104 ++++
 include/asm-powerpc/ps3.h             |  250 ++++++++++
 11 files changed, 1624 insertions(+), 1 deletion(-)
MAINTAINERS +7 -0
Index: cell--common--6/MAINTAINERS
===================================================================
@@ -2423,6 +2423,13 @@
 W:	http://www.pnd-pc.demon.co.uk/promise/
 S:	Maintained
 
+PS3 PLATFORM SUPPORT
+P:	Geoff Levand
+M:	[email protected]
+L:	[email protected]
+L:	[email protected]
+S:	Supported
+
 PVRUSB2 VIDEO4LINUX DRIVER
 P:	Mike Isely
 M:	[email protected]
arch/powerpc/Kconfig +10 -1
Index: cell--common--6/arch/powerpc/Kconfig
===================================================================
@@ -495,6 +495,14 @@
 	depends on PPC_RTAS
 	default n
 
+config PS3
+	bool "Sony PS3"
+	depends on PPC_MULTIPLATFORM && PPC64
+	select PPC_CELL
+	help
+	  This option enables support for the Sony PS3 game console
+	  and other platforms using the PS3 hypervisor.
+
 config XICS
 	depends on PPC_PSERIES
 	bool
@@ -647,6 +655,7 @@
 source arch/powerpc/platforms/86xx/Kconfig
 source arch/powerpc/platforms/8xx/Kconfig
 source arch/powerpc/platforms/cell/Kconfig
+source arch/powerpc/platforms/ps3/Kconfig
 
 menu "Kernel options"
 
@@ -917,7 +926,7 @@
 
 config PCI
 	bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
-		|| PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2
+		|| PPC_MPC52xx || (EMBEDDED && PPC_ISERIES) || MPC7448HPC2 || PS3
 	default y if !40x && !CPM2 && !8xx && !APUS && !PPC_83xx \
 		&& !PPC_85xx && !PPC_86xx
 	default PCI_PERMEDIA if !4xx && !CPM2 && !8xx && APUS
arch/powerpc/platforms/Makefile +1 -0
Index: cell--common--6/arch/powerpc/platforms/Makefile
===================================================================
@@ -16,4 +16,5 @@
 obj-$(CONFIG_PPC_MAPLE)		+= maple/
 obj-$(CONFIG_PPC_PASEMI)		+= pasemi/
 obj-$(CONFIG_PPC_CELL)		+= cell/
+obj-$(CONFIG_PS3)		+= ps3/
 obj-$(CONFIG_EMBEDDED6xx)	+= embedded6xx/
arch/powerpc/platforms/ps3/Kconfig new file +32 -0
Index: cell--common--6/arch/powerpc/platforms/ps3/Kconfig
===================================================================
@@ -0,0 +1,32 @@
+menu "PS3 Platform Options"
+	depends on PS3
+
+config PS3_HTAB_SIZE
+	depends on PS3
+	int "PS3 Platform pagetable size"
+	range 18 20
+	default 20
+	help
+	  This option is only for experts who may have the desire to fine
+	  tune the pagetable size on their system.  The value here is
+	  expressed as the log2 of the page table size.  Valid values are
+	  18, 19, and 20, corresponding to 256KB, 512KB and 1MB respectively.
+
+	  If unsure, choose the default (20) with the confidence that your
+	  system will have optimal runtime performance.
+
+config PS3_DYNAMIC_DMA
+	depends on PS3 && EXPERIMENTAL
+	bool "PS3 Platform dynamic DMA page table management"
+	default n
+	help
+	  This option will enable kernel support to take advantage of the
+	  per device dynamic DMA page table management provided by the Cell
+	  processor's IO Controller.  This support incurs some runtime
+	  overhead and also slightly increases kernel memory usage.  The
+	  current implementation should be considered experimental.
+
+	  This support is mainly for Linux kernel development.  If unsure,
+	  say N.
+
+endmenu
arch/powerpc/platforms/ps3/Makefile new file +2 -0
Index: cell--common--6/arch/powerpc/platforms/ps3/Makefile
===================================================================
@@ -0,0 +1,2 @@
+obj-y += setup.o mm.o smp.o time.o hvcall.o htab.o repository.o
+obj-y += interrupt.o exports.o
arch/powerpc/platforms/ps3/mm.c new file +827 -0

827 lines not on this page · raw message

arch/powerpc/platforms/ps3/platform.h new file +60 -0

60 lines not on this page · raw message

arch/powerpc/platforms/ps3/setup.c new file +173 -0

173 lines not on this page · raw message

arch/powerpc/platforms/ps3/smp.c new file +158 -0

158 lines not on this page · raw message

arch/powerpc/platforms/ps3/time.c new file +104 -0

104 lines not on this page · raw message

include/asm-powerpc/ps3.h new file +250 -0

250 lines not on this page · raw message