qemu/hw
Jason Wang d66b969b0d intel_iommu: large page support
Current intel_iommu only supports 4K page which may not be sufficient
to cover guest working set. This patch tries to enable 2M and 1G mapping
for intel_iommu. This is also useful for future device IOTLB
implementation to have a better hit rate.

Major work is adding a page mask field on IOTLB entry to make it
support large page. And also use the slpte level as key to do IOTLB
lookup. MAMV was increased to 18 to support direct invalidation for 1G
mapping.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2016-02-06 20:44:10 +02:00
..
9pfs virtio: move allocation to virtqueue_pop/vring_pop 2016-02-06 20:39:07 +02:00
acpi acpi: add function to extract oem_id and oem_table_id from the user's SLIC 2016-02-06 20:44:10 +02:00
alpha alpha: Clean up includes 2016-01-29 15:07:23 +00:00
arm acpi: expose oem_id and oem_table_id in build_rsdt() 2016-02-06 20:44:10 +02:00
audio audio: Clean up includes 2016-02-02 13:57:31 +01:00
block virtio: introduce qemu_get/put_virtqueue_element 2016-02-06 20:44:08 +02:00
bt hw: Clean up includes 2016-01-29 15:07:25 +00:00
char virtio: introduce qemu_get/put_virtqueue_element 2016-02-06 20:44:08 +02:00
core hw/core: Clean up includes 2016-01-29 15:07:25 +00:00
cpu hw: Clean up includes 2016-01-29 15:07:25 +00:00
cris cris: Clean up includes 2016-01-29 15:07:24 +00:00
display virtio: move allocation to virtqueue_pop/vring_pop 2016-02-06 20:39:07 +02:00
dma hw: Clean up includes 2016-01-29 15:07:25 +00:00
gpio hw: Clean up includes 2016-01-29 15:07:25 +00:00
i2c hw: Clean up includes 2016-01-29 15:07:25 +00:00
i386 intel_iommu: large page support 2016-02-06 20:44:10 +02:00
ide macio: add dma_active to VMStateDescription 2016-01-30 23:37:36 +11:00
input virtio: move allocation to virtqueue_pop/vring_pop 2016-02-06 20:39:07 +02:00
intc hw/intc: Clean up includes 2016-01-29 15:07:24 +00:00
ipack hw: Clean up includes 2016-01-29 15:07:25 +00:00
ipmi ipmi: add ACPI power and GUID commands 2016-02-06 20:44:09 +02:00
isa hw: Clean up includes 2016-01-29 15:07:25 +00:00
lm32 lm32: Clean up includes 2016-01-29 15:07:22 +00:00
m68k m68k: Clean up includes 2016-01-29 15:07:24 +00:00
mem hw: Clean up includes 2016-01-29 15:07:25 +00:00
microblaze microblaze: Clean up includes 2016-01-28 11:13:13 +00:00
mips mips: Clean up includes 2016-01-23 14:30:04 +00:00
misc ivshmem: use a single eventfd callback, get rid of CharDriver 2016-02-02 13:28:58 +01:00
moxie moxie: Clean up includes 2016-01-29 15:07:25 +00:00
net virtio: move allocation to virtqueue_pop/vring_pop 2016-02-06 20:39:07 +02:00
nvram hw: Clean up includes 2016-01-29 15:07:25 +00:00
openrisc openrisc: Clean up includes 2016-01-29 15:07:24 +00:00
pci hw/pci: ensure that only PCI/PCIe bridges can be attached to pxb/pxb-pcie devices 2016-02-06 20:44:08 +02:00
pci-bridge hw/pxb: add pxb devices to the bridge category 2016-02-06 20:44:08 +02:00
pci-host uninorth.c: add support for UniNorth kMacRISCPCIAddressSelect (0x48) register 2016-01-30 23:37:38 +11:00
pcmcia hw: Clean up includes 2016-01-29 15:07:25 +00:00
ppc target-ppc: Helper to determine page size information from hpte alone 2016-01-30 23:49:27 +11:00
s390x s390: Clean up includes 2016-01-29 15:07:22 +00:00
scsi virtio: introduce qemu_get/put_virtqueue_element 2016-02-06 20:44:08 +02:00
sd hw: Clean up includes 2016-01-29 15:07:25 +00:00
sh4 sh4: Clean up includes 2016-01-29 15:07:24 +00:00
smbios hw: Clean up includes 2016-01-29 15:07:25 +00:00
sparc sparc: Clean up includes 2016-01-29 15:07:22 +00:00
sparc64 sparc: Clean up includes 2016-01-29 15:07:22 +00:00
ssi hw: Clean up includes 2016-01-29 15:07:25 +00:00
timer log: do not unnecessarily include qom/cpu.h 2016-02-03 09:19:10 +00:00
tpm hw: Clean up includes 2016-01-29 15:07:25 +00:00
tricore tricore: Clean up includes 2016-01-29 15:07:25 +00:00
unicore32 unicore: Clean up includes 2016-01-29 15:07:22 +00:00
usb ehci: update irq on reset 2016-02-02 14:11:01 +01:00
vfio hw/vfio: Clean up includes 2016-01-29 15:07:24 +00:00
virtio virtio: combine write of an entry into used ring 2016-02-06 20:44:08 +02:00
watchdog hw: Clean up includes 2016-01-29 15:07:25 +00:00
xen xen: Clean up includes 2016-01-29 15:07:23 +00:00
xenpv xen: Clean up includes 2016-01-29 15:07:23 +00:00
xtensa xtensa: Clean up includes 2016-01-29 15:07:24 +00:00
Makefile.objs Add a base IPMI interface 2015-12-22 18:39:19 +02:00