1. 14 2月, 2007 16 次提交
  2. 13 2月, 2007 5 次提交
  3. 10 2月, 2007 1 次提交
  4. 07 2月, 2007 1 次提交
  5. 24 1月, 2007 1 次提交
  6. 19 12月, 2006 3 次提交
  7. 11 12月, 2006 1 次提交
  8. 09 12月, 2006 1 次提交
  9. 08 12月, 2006 4 次提交
  10. 04 12月, 2006 7 次提交
    • S
    • A
      [POWERPC] spufs: always send sigtrap on breakpoint · c2b2226c
      Arnd Bergmann 提交于
      Currently, we only send a sigtrap if the current task is being ptraced.
      This is somewhat inconsistant, and it breaks utrace support in fedora.
      Removing the check should do the right thing in all cases.
      
      Cc: Ulrich Weigand <ulrich.weigand@de.ibm.com>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      c2b2226c
    • J
      [POWERPC] spufs: return an error in spu_create is isolated create isnt supported · bd2e5f82
      Jeremy Kerr 提交于
      This changes the spu_create system call to return an error (-ENODEV) if
      and isolated spu context is requested on hardware that doesn't support
      isolated mode.
      
      Tested on systemsim with and without isolation support
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      bd2e5f82
    • G
      [POWERPC] cell: abstract spu management routines · e28b0031
      Geoff Levand 提交于
      This adds a platform specific spu management abstraction and the coresponding
      routines to support the IBM Cell Blade.  It also removes the hypervisor only
      resources that were included in struct spu.
      
      Three new platform specific routines are introduced, spu_enumerate_spus(),
      spu_create_spu() and spu_destroy_spu().  The underlying design uses a new
      type, struct spu_management_ops, to hold function pointers that the platform
      setup code is expected to initialize to instances appropriate to that platform.
      
      For the IBM Cell Blade support, I put the hypervisor only resources that were
      in struct spu into a platform specific data structure struct spu_pdata.
      Signed-off-by: NGeoff Levand <geoffrey.levand@am.sony.com>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      e28b0031
    • B
      [POWERPC] cell: hard disable interrupts in power_save() · 5850dd8f
      Benjamin Herrenschmidt 提交于
      With soft-disabled interrupts in power_save, we can
      still get external exceptions on Cell, even if we are
      in pause(0) a.k.a. sleep state.
      
      When the CPU really wakes up through the 0x100 (system reset)
      vector, while we have already started processing the 0x500
      (external) exception, we get a panic in unrecoverable_exception()
      because of the lost state.
      
      This occurred in Systemsim for Cell, but as far as I can see,
      it can theoretically occur on any machine that uses the
      system reset exception to get out of sleep state.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      5850dd8f
    • D
      [POWERPC] coredump: Add SPU elf notes to coredump. · bf1ab978
      Dwayne Grant McConnell 提交于
      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: NDwayne Grant McConnell <decimal@us.ibm.com>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      bf1ab978
    • M
      [POWERPC] cell: Add oprofile support · 18f2190d
      Maynard Johnson 提交于
      Add PPU event-based and cycle-based profiling support to Oprofile for Cell.
      
      Oprofile is expected to collect data on all CPUs simultaneously.
      However, there is one set of performance counters per node.  There are
      two hardware threads or virtual CPUs on each node.  Hence, OProfile must
      multiplex in time the performance counter collection on the two virtual
      CPUs.
      
      The multiplexing of the performance counters is done by a virtual
      counter routine.  Initially, the counters are configured to collect data
      on the even CPUs in the system, one CPU per node.  In order to capture
      the PC for the virtual CPU when the performance counter interrupt occurs
      (the specified number of events between samples has occurred), the even
      processors are configured to handle the performance counter interrupts
      for their node.  The virtual counter routine is called via a kernel
      timer after the virtual sample time.  The routine stops the counters,
      saves the current counts, loads the last counts for the other virtual
      CPU on the node, sets interrupts to be handled by the other virtual CPU
      and restarts the counters, the virtual timer routine is scheduled to run
      again.  The virtual sample time is kept relatively small to make sure
      sampling occurs on both CPUs on the node with a relatively small
      granularity.  Whenever the counters overflow, the performance counter
      interrupt is called to collect the PC for the CPU where data is being
      collected.
      
      The oprofile driver relies on a firmware RTAS call to setup the debug bus
      to route the desired signals to the performance counter hardware to be
      counted.  The RTAS call must set the routing registers appropriately in
      each of the islands to pass the signals down the debug bus as well as
      routing the signals from a particular island onto the bus.  There is a
      second firmware RTAS call to reset the debug bus to the non pass thru
      state when the counters are not in use.
      Signed-off-by: NCarl Love <carll@us.ibm.com>
      Signed-off-by: NMaynard Johnson <mpjohn@us.ibm.com>
      Signed-off-by: NArnd Bergmann <arnd.bergmann@de.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      18f2190d