ARM SMMU versions 1 and 2: Difference between revisions

[unchecked revision][unchecked revision]
Line 215:
Hypervisor mode contexts (HYPC) are the page tables of an OS running in HYP mode and not the 2nd stage page tables for a guest IPA. The SMMU is able to walk HYPC page tables. For that reason a HYPC bank cannot be a stage1 followed by stage2 context. I couldn't think of a good reason for a normal hypervisor to prefer to use HYPC tables when it can just use normal IO page tables. '''I could also be misinterpreting the purpose of this feature''', as it appears to be linked to VHE extensions, and it may pertain to a special page table format used by VHE guests.
 
Support for HYPC is mututally exclusive with support for E2HC. HYPC is supported:
* IfFor both SMMUv1 and SMMUv2, if VHE is not supported, inthen bothHYPC SMMUv1is and SMMUv2supported.
* In an SMMUv2 implementation that has VHE, if SMMU_CR0.HYPMODE==0, HYPC is available, else E2HC is available.
 
VHE is supported by the SMMU if:
Anonymous user