Skip to contentSkip to conversation

powerpc: add support for ps3 platform

PATCH In review Geoff Levand 2 participants 2 messages Nov 17, 2006 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 6/16 powerpc: add support for ps3 platform

This adds the core platform support for the PS3 game console and other platforms using the PS3 Platform hypervisor.

---
 MAINTAINERS                             |    7 
 arch/powerpc/Kconfig                    |   11 
 arch/powerpc/platforms/Makefile         |    1 
 arch/powerpc/platforms/ps3pf/Kconfig    |   32 +
 arch/powerpc/platforms/ps3pf/Makefile   |    2 
 arch/powerpc/platforms/ps3pf/mm.c       |  827 ++++++++++++++++++++++++++++++++
 arch/powerpc/platforms/ps3pf/platform.h |   59 ++
 arch/powerpc/platforms/ps3pf/setup.c    |  173 ++++++
 arch/powerpc/platforms/ps3pf/smp.c      |  158 ++++++
 arch/powerpc/platforms/ps3pf/time.c     |  104 ++++
 include/asm-powerpc/ps3pf.h             |  250 +++++++++
 11 files changed, 1623 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
 
+PS3PF (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 PS3PF
+	bool "PS3 Platform"
+	depends on PPC_MULTIPLATFORM && PPC64
+	select PPC_CELL
+	help
+	  This option enables support for the PS3 game console
+	  and other platforms using the PS3 Platform 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/ps3pf/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 || PS3PF
 	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_PS3PF)		+= ps3pf/
 obj-$(CONFIG_EMBEDDED6xx)	+= embedded6xx/
arch/powerpc/platforms/ps3pf/Kconfig new file +32 -0
Index: cell--common--6/arch/powerpc/platforms/ps3pf/Kconfig
===================================================================
@@ -0,0 +1,32 @@
+menu "PS3 Platform Options"
+	depends on PS3PF
+
+config PS3PF_HTAB_SIZE
+	depends on PS3PF
+	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 PS3PF_DYNAMIC_DMA
+	depends on PS3PF && 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/ps3pf/Makefile new file +2 -0
Index: cell--common--6/arch/powerpc/platforms/ps3pf/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/ps3pf/mm.c new file +827 -0

827 lines not on this page · raw message

arch/powerpc/platforms/ps3pf/platform.h new file +59 -0

59 lines not on this page · raw message

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

173 lines not on this page · raw message

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

158 lines not on this page · raw message

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

104 lines not on this page · raw message

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

250 lines not on this page · raw message

#1 lore raw
Quoted 2 lines · Geoff Levand

This adds the core platform support for the PS3 game console and other platforms using the PS3 Platform hypervisor.

Still this uses the braindead ps3pf plattform name, please get rid of it ASAP!