[lkml]   [2020]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/5] iommu/arm-smmu: Support maintaining bootloader mappings
Based on previous attempts and discussions this is the latest attempt at
inheriting stream mappings set up by the bootloader, for e.g. boot splash or

The first patch is an implementation of Robin's suggestion that we should just
mark the relevant stream mappings as BYPASS. Relying on something else to set
up the stream mappings wanted - e.g. by reading it back in platform specific
implementation code.

The series then tackles the problem seen in most versions of Qualcomm firmware,
that the hypervisor intercepts BYPASS writes and turn them into FAULTs. It does
this by allocating context banks for identity domains as well, with translation

Lastly it amends the stream mapping initialization code to allocate a specific
identity domain that is used for any mappings inherited from the bootloader, if
above Qualcomm quirk is required.

The series has been tested and shown to allow booting SDM845, SDM850, SM8150,
SM8250 with boot splash screen setup by the bootloader. Specifically it also
allows the Lenovo Yoga C630 to boot with SMMU and efifb enabled.

Bjorn Andersson (5):
iommu/arm-smmu: Make all valid stream mappings BYPASS
iommu/arm-smmu: Emulate bypass by using context banks
iommu/arm-smmu: Move SMR and S2CR definitions to header file
iommu/arm-smmu-qcom: Consstently initialize stream mappings
iommu/arm-smmu: Setup identity domain for boot mappings

drivers/iommu/arm-smmu-qcom.c | 48 +++++++++++++
drivers/iommu/arm-smmu.c | 124 +++++++++++++++++++++++++++++-----
drivers/iommu/arm-smmu.h | 21 ++++++
3 files changed, 175 insertions(+), 18 deletions(-)


 \ /
  Last update: 2020-07-09 07:02    [W:0.192 / U:3.584 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site