1
0
Fork 0
alistair23-linux/drivers/iommu
Will Deacon 1463fe44fd iommu/arm-smmu: Don't use VMIDs for stage-1 translations
Although permitted by the architecture, using VMIDs for stage-1
translations causes a complete nightmare for hypervisors, who end up
having to virtualise the VMID space across VMs, which may be using
multiple VMIDs each.

To make life easier for hypervisors (which might just decide not to
support this VMID virtualisation), this patch reworks the stage-1
context-bank TLB invalidation so that:

	- Stage-1 mappings are marked non-global in the ptes
	- Each Stage-1 context-bank is assigned an ASID in TTBR0
	- VMID 0 is reserved for Stage-1 context-banks

This allows the hypervisor to overwrite the Stage-1 VMID in the CBAR
when trapping the write from the guest.

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Joerg Roedel <joro@8bytes.org>
2013-08-14 12:09:42 +02:00
..
Kconfig IOMMU Updates for Linux 3.11 2013-07-10 14:46:40 -07:00
Makefile iommu/arm: Add support for ARM Ltd. System MMU architecture 2013-06-25 23:34:20 +02:00
amd_iommu.c Merge branches 'x86/vt-d', 'arm/omap', 'core', 'x86/amd' and 'arm/smmu' into next 2013-06-25 23:34:29 +02:00
amd_iommu_init.c perf/x86/amd: Add IOMMU Performance Counter resource management 2013-06-19 13:04:52 +02:00
amd_iommu_proto.h perf/x86/amd: Add IOMMU Performance Counter resource management 2013-06-19 13:04:52 +02:00
amd_iommu_types.h perf/x86/amd: Add IOMMU Performance Counter resource management 2013-06-19 13:04:52 +02:00
amd_iommu_v2.c IOMMU Updates for Linux v3.6-rc1 2012-07-24 16:24:11 -07:00
arm-smmu.c iommu/arm-smmu: Don't use VMIDs for stage-1 translations 2013-08-14 12:09:42 +02:00
dmar.c iommu/vt-d: DMAR reporting table needs at least one DRHD 2013-06-20 16:39:28 +02:00
exynos-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
intel-iommu.c iommu/{vt-d,amd}: Remove multifunction assumption around grouping 2013-06-20 17:21:09 +02:00
intel_irq_remapping.c iommu/vt-d: Downgrade the warning if enabling irq remapping fails 2013-06-20 16:37:43 +02:00
iommu.c iommu: Use %pa and %zx instead of casting 2013-06-24 12:31:49 +02:00
iova.c iommu: Fix typo in iommu 2012-07-24 12:58:49 +02:00
irq_remapping.c x86/MSI: Conserve interrupt resources when using multiple-MSIs 2013-06-03 14:40:44 -06:00
irq_remapping.h iommu/vt-d: add quirk for broken interrupt remapping on 55XX chipsets 2013-04-18 17:00:47 +02:00
msm_iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
msm_iommu_dev.c drivers/iommu/msm_iommu_dev.c: fix leak and clean up error paths 2013-07-09 10:33:20 -07:00
of_iommu.c iommu: Add DMA window parser, of_get_dma_window() 2012-06-25 13:50:28 +02:00
omap-iommu-debug.c ARM: OMAP2+: Move iommu/iovmm headers to platform_data 2012-11-20 10:05:01 -08:00
omap-iommu.c iommu/omap: fix checkpatch warnings in omap iommu code 2013-06-20 16:53:26 +02:00
omap-iommu.h iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iommu2.c iommu/omap: Adapt to runtime pm 2012-12-03 18:48:23 +01:00
omap-iopgtable.h iommu/omap: fix checkpatch warnings in omap iommu code 2013-06-20 16:53:26 +02:00
omap-iovmm.c iommu/omap: fix checkpatch warnings in omap iommu code 2013-06-20 16:53:26 +02:00
pci.h iommu: Move swap_pci_ref function to drivers/iommu/pci.h. 2013-04-23 14:55:00 +02:00
shmobile-iommu.c iommu/fsl: Make iova dma_addr_t in the iommu_iova_to_phys API. 2013-04-02 18:20:53 +02:00
shmobile-ipmmu.c iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
shmobile-ipmmu.h iommu/shmobile: Add iommu driver for Renesas IPMMU modules 2013-02-06 10:57:25 +01:00
tegra-gart.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00
tegra-smmu.c Merge branches 'iommu/fixes', 'x86/vt-d', 'x86/amd', 'ppc/pamu', 'core' and 'arm/tegra' into next 2013-05-02 12:10:19 +02:00