]> git.proxmox.com Git - mirror_qemu.git/commit
intel_iommu: scalable mode emulation
authorLiu, Yi L <yi.l.liu@intel.com>
Tue, 5 Mar 2019 02:34:53 +0000 (10:34 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 13 Mar 2019 02:31:21 +0000 (22:31 -0400)
commitfb43cf739e1a74178212bfcd4313b598109d2310
treeee9ecfe0efab65b7c5d441b68e3ddd560f018085
parentb13919ab64e712158a031bf4ea48e92b20ed8ef5
intel_iommu: scalable mode emulation

Intel(R) VT-d 3.0 spec introduces scalable mode address translation to
replace extended context mode. This patch extends current emulator to
support Scalable Mode which includes root table, context table and new
pasid table format change. Now intel_iommu emulates both legacy mode
and scalable mode (with legacy-equivalent capability set).

The key points are below:
1. Extend root table operations to support both legacy mode and scalable
   mode.
2. Extend context table operations to support both legacy mode and
   scalable mode.
3. Add pasid tabled operations to support scalable mode.

Signed-off-by: Liu, Yi L <yi.l.liu@intel.com>
[Yi Sun is co-developer to contribute much to refine the whole commit.]
Signed-off-by: Yi Sun <yi.y.sun@linux.intel.com>
Message-Id: <1551753295-30167-2-git-send-email-yi.y.sun@linux.intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
hw/i386/intel_iommu.c
hw/i386/intel_iommu_internal.h
hw/i386/trace-events
include/hw/i386/intel_iommu.h