qemu-e2k/hw/i386
Liu, Yi L fb43cf739e 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>
2019-03-12 22:31:21 -04:00
..
kvm ioapic: use TYPE_FOO MACRO than constant string 2019-01-09 11:33:47 +01:00
xen xen: introduce new 'XenBus' and 'XenDevice' object hierarchy 2019-01-14 13:45:40 +00:00
acpi-build.c machine: Move nvdimms state into struct MachineState 2019-03-11 10:44:25 -03:00
acpi-build.h
amd_iommu.c update copyright notice 2019-03-11 16:33:49 +01:00
amd_iommu.h update copyright notice 2019-03-11 16:33:49 +01:00
intel_iommu_internal.h intel_iommu: scalable mode emulation 2019-03-12 22:31:21 -04:00
intel_iommu.c intel_iommu: scalable mode emulation 2019-03-12 22:31:21 -04:00
Kconfig i386-softmmu.mak: remove all CONFIG_* except boards definitions 2019-03-07 21:45:53 +01:00
kvmvapic.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
Makefile.objs i386: express dependencies with Kconfig 2019-03-07 21:45:53 +01:00
multiboot.c elf: Add optional function ptr to load_elf() to parse ELF notes 2019-02-05 16:50:16 +01:00
multiboot.h
pc_piix.c machine: Move nvdimms state into struct MachineState 2019-03-11 10:44:25 -03:00
pc_q35.c machine: Move nvdimms state into struct MachineState 2019-03-11 10:44:25 -03:00
pc_sysfw.c pc: Support firmware configuration with -blockdev 2019-03-11 22:54:26 +01:00
pc.c Machine queue, 2019-03-11 2019-03-12 15:25:46 +00:00
trace-events intel_iommu: scalable mode emulation 2019-03-12 22:31:21 -04:00
vmmouse.c hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.h 2018-03-12 16:12:48 +01:00
vmport.c hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.h 2018-03-12 16:12:48 +01:00
x86-iommu.c x86-iommu: turn on IR by default if proper 2018-12-20 13:25:11 -05:00