qemu-patch-raspberry4/hw/i386
David Hildenbrand 195784a0cf numa: Auto-enable NUMA when any memory devices are possible
Let's auto-enable it also when maxmem is specified but no slots are
defined. This will result in us properly creating ACPI srat tables,
indicating the maximum possible PFN to the guest OS. Based on this, e.g.,
Linux will enable the swiotlb properly.

This avoids having to manually force the switolb on (swiotlb=force) in
Linux in case we're booting only using DMA memory (e.g., 2GB on x86-64),
and virtio-mem adds memory later on that really needs the swiotlb to be
used for DMA.

Let's take care of backwards compatibility if somebody has a setup that
specifies "maxram" without "slots".

Reported-by: Alex Shi <alex.shi@linux.alibaba.com>
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Cc: Sergio Lopez <slp@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: qemu-arm@nongnu.org <qemu-arm@nongnu.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20200626072248.78761-22-david@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2020-07-03 07:57:04 -04:00
..
kvm qdev: Unrealize must not fail 2020-05-15 07:08:14 +02:00
xen x86: move max-ram-below-4g to pc 2020-06-17 14:24:22 +02:00
acpi-build.c hyperv: vmbus: Remove the 2nd IRQ 2020-06-26 09:39:40 -04:00
acpi-build.h nvdimm: Use configurable ACPI IO base and size 2020-05-04 10:25:02 -04:00
acpi-common.c acpi: madt: skip pci override on pci-less systems. 2020-06-12 10:17:06 -04:00
acpi-common.h acpi: madt: skip pci override on pci-less systems. 2020-06-12 10:17:06 -04:00
amd_iommu.c qdev: Convert uses of qdev_set_parent_bus() with Coccinelle 2020-06-15 22:05:08 +02:00
amd_iommu.h Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
e820_memory_layout.c hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
e820_memory_layout.h hw/i386/pc: Extract e820 memory layout code 2019-09-16 17:13:07 +02:00
fw_cfg.c acpi: factor out fw_cfg_add_acpi_dsdt() 2020-06-24 17:18:28 -04:00
fw_cfg.h acpi: factor out fw_cfg_add_acpi_dsdt() 2020-06-24 17:18:28 -04:00
intel_iommu.c hw/i386/intel_iommu: Fix out-of-bounds access on guest IRT 2020-03-16 23:02:22 +01:00
intel_iommu_internal.h intel_iommu: add present bit check for pasid table entries 2020-01-06 12:04:51 -05:00
Kconfig pc: Support for virtio-mem-pci 2020-07-03 07:57:04 -04:00
kvmvapic.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
Makefile.objs acpi: create acpi-common.c and move madt code 2020-06-12 10:17:06 -04:00
microvm.c numa: Auto-enable NUMA when any memory devices are possible 2020-07-03 07:57:04 -04:00
multiboot.c hw/core/loader: Let load_elf() populate a field with CPU-specific flags 2020-01-29 19:28:52 +01:00
multiboot.h refer to FWCfgState explicitly 2013-06-02 18:14:02 +03:00
pc.c numa: Auto-enable NUMA when any memory devices are possible 2020-07-03 07:57:04 -04:00
pc_piix.c numa: Auto-enable NUMA when any memory devices are possible 2020-07-03 07:57:04 -04:00
pc_q35.c numa: Auto-enable NUMA when any memory devices are possible 2020-07-03 07:57:04 -04:00
pc_sysfw.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
port92.c hw/i386/pc: Extract the port92 device 2019-12-17 19:33:51 +01:00
trace-events hw/i386/pc: Extract the port92 device 2019-12-17 19:33:51 +01:00
vmmouse.c hw/i386/vmport: Define enum for all commands 2020-06-10 12:09:46 -04:00
vmport.c hw/i386/vmport: Allow QTest use without crashing 2020-06-10 12:10:27 -04:00
x86-iommu-stub.c hw/i386/x86-iommu: Add missing stubs 2020-01-09 11:41:25 +00:00
x86-iommu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
x86.c x86: move max-ram-below-4g to pc 2020-06-17 14:24:22 +02:00