[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v03 00/10] arm: introduce remoteprocessor iommu module

The following patch series introduces IOMMU translation
framework for remote processors. Remote processors are
typically used for graphic rendering (GPUs) and
high quality video decoding (IPUs). They are typically
installed on such multimedia SoCs as OMAP4 / OMAP5.

As soon as remoteprocessor MMU typically works with
pagetables filled by physical addresses, which are
allocated by domU kernel, it is almost impossible to
use them under Xen - intermediate physical addresses
allocated by kernel, need to be translated to machine
addresses which are managed by Xen.

Changes in v03
- Rebased to latest Xen master branch
- XSM security check is added for domain, which performs
  remoteproc MMU access
- Added a possibility to pin pfn to mfn. This functionality
  was introduced some time ago by Stefano:
- ioremap_nocache() calls changed to appropriate map_domain_page()
- remoteproc iommu module moved to
  src: xen/arch/arm/remoteproc/
  hdr: xen/include/asm-arm/
- Other review comments were addressed

Andrii Tseglytskyi (9):
  domctl: introduce access_remote_pagetable call
  xsm: arm: create domU_rpc_t security label
  arm: introduce remoteprocessor iommu module
  arm: omap: introduce iommu translation for IPU remoteproc
  arm: omap: introduce iommu translation for GPU remoteproc
  arm: introduce remoteproc_mmu_translate_pagetable mem subops call
  arm: add trap for remoteproc mmio accesses
  arm: omap: introduce print pagetable function for IPU remoteproc
  arm: omap: introduce print pagetable function for GPU remoteproc

Stefano Stabellini (1):
  xen: implement guest_physmap_pin_range

 tools/flask/policy/policy/modules/xen/xen.te |  14 +
 xen/arch/arm/Makefile                        |   1 +
 xen/arch/arm/Rules.mk                        |   1 +
 xen/arch/arm/mm.c                            |   8 +
 xen/arch/arm/p2m.c                           |  82 ++++
 xen/arch/arm/remoteproc/Makefile             |   2 +
 xen/arch/arm/remoteproc/omap_iommu.c         | 559 +++++++++++++++++++++++++++
 xen/arch/arm/remoteproc/remoteproc_iommu.c   | 459 ++++++++++++++++++++++
 xen/common/domain.c                          |   7 +
 xen/include/asm-arm/mm.h                     |  11 +
 xen/include/asm-arm/remoteproc_iommu.h       |  88 +++++
 xen/include/asm-x86/p2m.h                    |  20 +
 xen/include/public/domctl.h                  |   1 +
 xen/include/public/memory.h                  |  14 +-
 xen/xsm/flask/hooks.c                        |   3 +
 xen/xsm/flask/policy/access_vectors          |   2 +
 16 files changed, 1271 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/remoteproc/Makefile
 create mode 100644 xen/arch/arm/remoteproc/omap_iommu.c
 create mode 100644 xen/arch/arm/remoteproc/remoteproc_iommu.c
 create mode 100644 xen/include/asm-arm/remoteproc_iommu.h


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.