An error occurred fetching the project authors.
  1. 22 Jul, 2008 2 commits
  2. 24 Apr, 2008 9 commits
  3. 28 Dec, 2007 1 commit
  4. 21 Dec, 2007 1 commit
    • Jeremy Kerr's avatar
      [POWERPC] spufs: move fault, lscsa_alloc and switch code to spufs module · 7cd58e43
      Jeremy Kerr authored
      Currently, part of the spufs code (switch.o, lscsa_alloc.o and fault.o)
      is compiled directly into the kernel.
      
      This change moves these components of spufs into the kernel.
      
      The lscsa and switch objects are fairly straightforward to move in.
      
      For the fault.o module, we split the fault-handling code into two
      parts: a/p/p/c/spu_fault.c and a/p/p/c/spufs/fault.c. The former is for
      the in-kernel spu_handle_mm_fault function, and we move the rest of the
      fault-handling code into spufs.
      Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      7cd58e43
  5. 19 Sep, 2007 2 commits
    • Michael Ellerman's avatar
      [POWERPC] spufs: Combine spufs_coredump_calls with spufs_calls · 48cad41f
      Michael Ellerman authored
      Because spufs might be built as a module, we can't have other parts of the
      kernel calling directly into it, we need stub routines that check first if the
      module is loaded.
      
      Currently we have two structures which hold callbacks for these stubs, the
      syscalls are in spufs_calls and the coredump calls are in spufs_coredump_calls.
      In both cases the logic for registering/unregistering is essentially the same,
      so we can simplify things by combining the two.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
      Acked-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      48cad41f
    • Jeremy Kerr's avatar
      [POWERPC] cell: Unify spufs syscall path · 98f06978
      Jeremy Kerr authored
      At present, a built-in spufs will not use the spufs_calls callbacks, but
      directly call sys_spu_create.  This saves us an indirect branch, but
      means we have duplicated functions - one for CONFIG_SPU_FS=y and one for
      =m.
      
      This change unifies the spufs syscall path, and provides access to the
      spufs_calls structure through a get/put pair.  At present, the only user
      of the spufs_calls structure is spu_syscalls.c, but this will facilitate
      adding the coredump calls later.
      
      Everyone likes numbers, right?  Here's a before/after comparison with
      CONFIG_SPU_FS=y, doing spu_create(); close(); 64k times.
      
      Before:
      	[jk@cell ~]$ time ./spu_create
      	performing 65536 spu_create calls
      
      	real    0m24.075s
      	user    0m0.146s
      	sys     0m23.925s
      
      After:
      	[jk@cell ~]$ time ./spu_create
      	performing 65536 spu_create calls
      
      	real    0m24.777s
      	user    0m0.141s
      	sys     0m24.631s
      
      So, we're adding around 11us per syscall, at the benefit of having
      only one syscall path.
      Signed-off-by: default avatarJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      98f06978
  6. 20 Jul, 2007 2 commits
  7. 07 Feb, 2007 1 commit
  8. 04 Dec, 2006 2 commits
    • Dwayne Grant McConnell's avatar
      [POWERPC] coredump: Add SPU elf notes to coredump. · bf1ab978
      Dwayne Grant McConnell authored
      This patch adds SPU elf notes to the coredump. It creates a separate note
      for each of /regs, /fpcr, /lslr, /decr, /decr_status, /mem, /signal1,
      /signal1_type, /signal2, /signal2_type, /event_mask, /event_status,
      /mbox_info, /ibox_info, /wbox_info, /dma_info, /proxydma_info, /object-id.
      
      A new macro, ARCH_HAVE_EXTRA_NOTES, was created for architectures to
      specify they have extra elf core notes.
      
      A new macro, ELF_CORE_EXTRA_NOTES_SIZE, was created so the size of the
      additional notes could be calculated and added to the notes phdr entry.
      
      A new macro, ELF_CORE_WRITE_EXTRA_NOTES, was created so the new notes
      would be written after the existing notes.
      
      The SPU coredump code resides in spufs. Stub functions are provided in the
      kernel which are hooked into the spufs code which does the actual work via
      register_arch_coredump_calls().
      
      A new set of __spufs_<file>_read/get() functions was provided to allow the
      coredump code to read from the spufs files without having to lock the
      SPU context for each file read from.
      
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: default avatarDwayne Grant McConnell <decimal@us.ibm.com>
      Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
      bf1ab978
    • Benjamin Herrenschmidt's avatar
      [POWERPC] Cell "Spider" MMIO workarounds · 014da7ff
      Benjamin Herrenschmidt authored
      This patch implements a workaround for a Spider PCI host bridge bug
      where it doesn't enforce some of the PCI ordering rules unless some
      manual manipulation of a special register is done. In order to be
      fully compliant with the PCI spec, I do this on every MMIO read
      operation.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      014da7ff
  9. 25 Oct, 2006 3 commits
  10. 21 Jun, 2006 3 commits
  11. 27 Mar, 2006 1 commit
    • Arnd Bergmann's avatar
      [PATCH] spufs: allow SPU code to do syscalls · 2dd14934
      Arnd Bergmann authored
      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: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      2dd14934
  12. 07 Feb, 2006 1 commit
  13. 09 Jan, 2006 3 commits
    • Arnd Bergmann's avatar
      [PATCH] spufs: abstract priv1 register access. · f0831acc
      Arnd Bergmann authored
      In a hypervisor based setup, direct access to the first
      priviledged register space can typically not be allowed
      to the kernel and has to be implemented through hypervisor
      calls.
      
      As suggested by Masato Noguchi, let's abstract the register
      access trough a number of function calls. Since there is
      currently no public specification of actual hypervisor
      calls to implement this, I only provide a place that
      makes it easier to hook into.
      
      Cc: Masato Noguchi <Masato.Noguchi@jp.sony.com>
      Cc: Geoff Levand <geoff.levand@am.sony.com>
      Signed-off-by: default avatarArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      f0831acc
    • Arnd Bergmann's avatar
      [PATCH] cell: enable pause(0) in cpu_idle · c902be71
      Arnd Bergmann authored
      This patch enables support for pause(0) power management state
      for the Cell Broadband Processor, which is import for power efficient
      operation. The pervasive infrastructure will in the future enable
      us to introduce more functionality specific to the Cell's
      pervasive unit.
      
      From: Maximino Aguilar <maguilar@us.ibm.com>
      Signed-off-by: default avatarArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      c902be71
    • Arnd Bergmann's avatar
      [PATCH] spufs: The SPU file system, base · 67207b96
      Arnd Bergmann authored
      This is the current version of the spu file system, used
      for driving SPEs on the Cell Broadband Engine.
      
      This release is almost identical to the version for the
      2.6.14 kernel posted earlier, which is available as part
      of the Cell BE Linux distribution from
      http://www.bsc.es/projects/deepcomputing/linuxoncell/.
      
      The first patch provides all the interfaces for running
      spu application, but does not have any support for
      debugging SPU tasks or for scheduling. Both these
      functionalities are added in the subsequent patches.
      
      See Documentation/filesystems/spufs.txt on how to use
      spufs.
      Signed-off-by: default avatarArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      67207b96
  14. 01 Nov, 2005 2 commits