xemu/include/hw/i386
Peter Xu 4b519ef1de intel-iommu: optimize nodmar memory regions
Previously we have per-device system memory aliases when DMAR is
disabled by the system.  It will slow the system down if there are
lots of devices especially when DMAR is disabled, because each of the
aliased system address space will contain O(N) slots, and rendering
such N address spaces will be O(N^2) complexity.

This patch introduces a shared nodmar memory region and for each
device we only create an alias to the shared memory region.  With the
aliasing, QEMU memory core API will be able to detect when devices are
sharing the same address space (which is the nodmar address space)
when rendering the FlatViews and the total number of FlatViews can be
dramatically reduced when there are a lot of devices.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20190313094323.18263-1-peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-03-20 11:44:13 +01:00
..
apic-msidef.h i386/msi: Correct mask of destination ID in MSI address 2017-12-01 18:28:15 +02:00
apic.h apic: add function to apic that will be used by hvf 2017-12-22 15:01:19 +01:00
apic_internal.h Revert "apic: save apic_delivered flag" 2017-03-27 14:41:01 +02:00
ich9.h tco: do not generate an NMI 2017-04-05 17:23:52 +02:00
intel_iommu.h intel-iommu: optimize nodmar memory regions 2019-03-20 11:44:13 +01:00
ioapic.h ioapic: use TYPE_FOO MACRO than constant string 2019-01-09 11:33:47 +01:00
ioapic_internal.h ioapic: support "info irq" 2018-06-28 19:05:37 +02:00
pc.h Machine queue, 2019-03-11 2019-03-12 15:25:46 +00:00
topology.h pc: Add x86_topo_ids_from_apicid() 2016-07-20 11:58:44 -03:00
x86-iommu.h x86-iommu: switch intr_supported to OnOffAuto type 2018-12-20 13:25:11 -05:00