1. 29 2月, 2012 1 次提交
    • O
      remoteproc: make sure we're parsing a 32bit firmware · 40b78b2c
      Ohad Ben-Cohen 提交于
      Make sure we're parsing a 32bit image, since we only support
      the ELF32 binary format at this point.
      
      This should prevent unexpected behavior with non 32bit binaries.
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Mark Grosen <mgrosen@ti.com>
      Cc: Suman Anna <s-anna@ti.com>
      Cc: Fernando Guzman Lugo <fernando.lugo@ti.com>
      Cc: Rob Clark <rob@ti.com>
      Cc: Ludovic BARRE <ludovic.barre@stericsson.com>
      Cc: Loic PALLARDY <loic.pallardy@stericsson.com>
      Cc: Omar Ramirez Luna <omar.luna@linaro.org>
      40b78b2c
  2. 23 2月, 2012 3 次提交
  3. 09 2月, 2012 4 次提交
    • O
      remoteproc: look for truncated firmware images · 9bc91231
      Ohad Ben-Cohen 提交于
      Make sure firmware isn't truncated before accessing its data.
      Reported-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      9bc91231
    • M
      remoteproc: avoid registering a virtio device if not supported · 7d2d3956
      Mark Grosen 提交于
      Let remoteproc know when the firmware doesn't support any virtio
      functionality, so registering a virtio device can be avoided.
      
      This is needed for remote processors that doesn't require any
      virtio-based communications, but are still controlled via remoteproc.
      
      [ohad@wizery.com: write commit log]
      Signed-off-by: NMark Grosen <mgrosen@ti.com>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      7d2d3956
    • M
      remoteproc: do not require an iommu · 0798e1da
      Mark Grosen 提交于
      Not all remote processors employ an IOMMU, so do not error out
      on !iommu_present().
      
      Note: we currently still use iommu_present() to tell whether we need
      to configure an IOMMU or not. That works for simple cases, but will
      easily fail with more complicated ones (e.g. where an IOMMU exists,
      but not all remote processors use it). When those use cases show up,
      we will solve them by introducing something like remoteproc hw
      capabilities.
      
      [ohad@wizery.com: write commit log]
      Signed-off-by: NMark Grosen <mgrosen@ti.com>
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      0798e1da
    • O
      remoteproc: add framework for controlling remote processors · 400e64df
      Ohad Ben-Cohen 提交于
      Modern SoCs typically employ a central symmetric multiprocessing (SMP)
      application processor running Linux, with several other asymmetric
      multiprocessing (AMP) heterogeneous processors running different instances
      of operating system, whether Linux or any other flavor of real-time OS.
      
      Booting a remote processor in an AMP configuration typically involves:
      - Loading a firmware which contains the OS image
      - Allocating and providing it required system resources (e.g. memory)
      - Programming an IOMMU (when relevant)
      - Powering on the device
      
      This patch introduces a generic framework that allows drivers to do
      that. In the future, this framework will also include runtime power
      management and error recovery.
      
      Based on (but now quite far from) work done by Fernando Guzman Lugo
      <fernando.lugo@ti.com>.
      
      ELF loader was written by Mark Grosen <mgrosen@ti.com>, based on
      msm's Peripheral Image Loader (PIL) by Stephen Boyd <sboyd@codeaurora.org>.
      
      Designed with Brian Swetland <swetland@google.com>.
      Signed-off-by: NOhad Ben-Cohen <ohad@wizery.com>
      Acked-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Brian Swetland <swetland@google.com>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Greg KH <greg@kroah.com>
      Cc: Stephen Boyd <sboyd@codeaurora.org>
      400e64df