]> git.proxmox.com Git - mirror_qemu.git/commit - include/hw/boards.h
numa: Auto-enable NUMA when any memory devices are possible
authorDavid Hildenbrand <david@redhat.com>
Fri, 26 Jun 2020 07:22:48 +0000 (09:22 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Fri, 3 Jul 2020 11:57:04 +0000 (07:57 -0400)
commit195784a0cfad57b06cba6d67f286039d5a01babf
treeda01ed739fc4c5b938c2baac8bb7480bed0cd1a1
parent0bc7806c5a670fa0bd160caf07489a5106a67d55
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>
hw/arm/virt.c
hw/core/numa.c
hw/i386/microvm.c
hw/i386/pc.c
hw/i386/pc_piix.c
hw/i386/pc_q35.c
include/hw/boards.h