2008-11-27 16:15:44 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_PPC_CELL_COMMON)		+= cbe_regs.o interrupt.o pervasive.o
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_PPC_CELL_NATIVE)		+= iommu.o setup.o spider-pic.o \
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
													   pmu.o io-workarounds.o spider-pci.o
							 | 
						
					
						
							
								
									
										
										
										
											2006-06-19 20:33:28 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_CBE_RAS)			+= ras.o
							 | 
						
					
						
							
								
									
										
										
										
											2006-01-04 19:55:53 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2006-10-24 18:31:25 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_CBE_THERM)			+= cbe_thermal.o
							 | 
						
					
						
							
								
									
										
										
										
											2007-07-20 21:39:22 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_CBE_CPUFREQ_PMI)		+= cbe_cpufreq_pmi.o
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_CBE_CPUFREQ)		+= cbe-cpufreq.o
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								cbe-cpufreq-y				+= cbe_cpufreq_pervasive.o cbe_cpufreq.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-07-16 05:51:43 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_CBE_CPUFREQ_SPU_GOVERNOR)	+= cpufreq_spudemand.o
							 | 
						
					
						
							
								
									
										
										
										
											2006-10-24 18:31:25 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2008-07-16 05:51:45 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_PPC_IBM_CELL_POWERBUTTON)	+= cbe_powerbutton.o
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2006-06-19 20:33:28 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								ifeq ($(CONFIG_SMP),y)
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_PPC_CELL_NATIVE)		+= smp.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-11-27 16:15:44 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_PPC_CELL_QPACE)		+= smp.o
							 | 
						
					
						
							
								
									
										
										
										
											2006-06-19 20:33:28 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								endif
							 | 
						
					
						
							
								
									
										
										
										
											2006-01-04 20:31:30 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
											
												[PATCH] spufs: allow SPU code to do syscalls
An SPU does not have a way to implement system calls
itself, but it can create intercepts to the kernel.
This patch uses the method defined by the JSRE interface
for C99 host library calls from an SPU to implement
Linux system calls. It uses the reserved SPU stop code
0x2104 for this, using the structure layout and syscall
numbers for ppc64-linux.
I'm still undecided wether it is better to have a list
of allowed syscalls or a list of forbidden syscalls,
since we can't allow an SPU to call all syscalls that
are defined for ppc64-linux.
This patch implements the easier choice of them, with a
blacklist that only prevents an SPU from calling anything
that interacts with its own execution, e.g fork, execve,
clone, vfork, exit, spu_run and spu_create and everything
that deals with signals.
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
											
										 
										
											2006-03-23 00:00:09 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								# needed only when building loadable spufs.ko
							 | 
						
					
						
							
								
									
										
										
										
											2008-11-27 16:15:44 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								spu-priv1-$(CONFIG_PPC_CELL_COMMON)	+= spu_priv1_mmio.o
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								spu-manage-$(CONFIG_PPC_CELL_COMMON)	+= spu_manage.o
							 | 
						
					
						
							
								
									
										
										
										
											2007-02-02 16:45:33 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2006-06-19 20:33:28 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_SPU_BASE)			+= spu_callbacks.o spu_base.o \
							 | 
						
					
						
							
								
									
										
										
										
											2007-12-15 01:27:30 +11:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   spu_notify.o \
							 | 
						
					
						
							
								
									
										
										
										
											2007-12-20 16:39:59 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   spu_syscalls.o spu_fault.o \
							 | 
						
					
						
							
								
									
										
										
										
											2007-02-02 16:45:33 +09:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   $(spu-priv1-y) \
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
													   $(spu-manage-y) \
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
													   spufs/
							 | 
						
					
						
							
								
									
										
										
										
											2007-07-20 21:39:28 +02:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2009-03-05 17:37:11 +00:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_AXON_MSI)			+= axon_msi.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:24:13 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2008-11-27 16:15:44 +01:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								# qpace setup
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_PPC_CELL_QPACE)		+= qpace_setup.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:24:13 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								# celleb stuff
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								ifeq ($(CONFIG_PPC_CELLEB),y)
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:25:16 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-y					+= celleb_setup.o \
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:26:28 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   celleb_pci.o celleb_scc_epci.o \
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 20:27:39 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   celleb_scc_pciex.o \
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:26:28 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   celleb_scc_uhc.o \
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:27:32 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   io-workarounds.o spider-pci.o \
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:31:40 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
													   beat.o beat_htab.o beat_hvCall.o \
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
													   beat_interrupt.o beat_iommu.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:26:28 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:31:40 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_SMP)			+= beat_smp.o
							 | 
						
					
						
							| 
								
							 | 
							
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_PPC_UDBG_BEAT)		+= beat_udbg.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:26:28 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_SERIAL_TXX9)		+= celleb_scc_sio.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:29:50 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								obj-$(CONFIG_SPU_BASE)			+= beat_spu_priv1.o
							 | 
						
					
						
							
								
									
										
										
										
											2008-04-24 19:24:13 +10:00
										 
									 
								 
							 | 
							
								
									
										
									
								
							 | 
							
								
							 | 
							
							
								endif
							 |