powerpc: add support for ps3 platform
Subsystems (2)
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.
Signed-off-by Arnd Bergmann <[email protected]>
Signed-off-by Geoff Levand <[email protected]>
--- 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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