Re: [PATCH 0/5] iommu/arm-smmu: Support maintaining bootloader mappings
On Wed, Jul 8, 2020 at 10:02 PM Bjorn Andersson wrote: > > 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 > efifb. > > 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 > disabled. > > 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. This series allows the db845c to boot successfully! (Without it we crash!) It would be really great to have this upstream! For the series: Tested-by: John Stultz Thanks so much! -john ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH 0/5] iommu/arm-smmu: Support maintaining bootloader mappings
On 08-07-20, 22:01, Bjorn Andersson wrote: > 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 > efifb. > > 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 > disabled. > > 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. This resolves issue on RB3 for me so: Tested-by: Vinod Koul -- ~Vinod ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
[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 efifb. 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 disabled. 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(-) -- 2.26.2 ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu