From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53662) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1av0QW-0006c5-Dv for qemu-devel@nongnu.org; Tue, 26 Apr 2016 06:41:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1av0QR-00069a-Vt for qemu-devel@nongnu.org; Tue, 26 Apr 2016 06:41:08 -0400 From: Shannon Zhao Date: Tue, 26 Apr 2016 18:40:24 +0800 Message-ID: <1461667229-9216-1-git-send-email-zhaoshenglong@huawei.com> MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH v8 0/5] ARM: Add NUMA support for machine virt List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-arm@nongnu.org, peter.maydell@linaro.org Cc: qemu-devel@nongnu.org, drjones@redhat.com, david.daney@cavium.com, peter.huangpeng@huawei.com, shannon.zhao@linaro.org From: Shannon Zhao Add NUMA support for machine virt. Tested successfully running a guest Linux kernel with the following patch applied: - [PATCH v16 0/6] arm64, numa: Add numa support for arm64 platforms https://lkml.org/lkml/2016/4/8/571 - [PATCH v5 00/14] ACPI NUMA support for ARM64 https://lkml.org/lkml/2016/4/19/852 Example qemu command line: qemu-system-aarch64 \ -enable-kvm -smp 4\ -kernel Image \ -m 512 -machine virt,kernel_irqchip=on \ -initrd guestfs.cpio.gz \ -cpu host -nographic \ -numa node,mem=256M,cpus=0-1,nodeid=0 \ -numa node,mem=256M,cpus=2-3,nodeid=1 \ -append "console=ttyAMA0 root=/dev/ram" Changes since v7: * fix code style suggested by Marcel * rename acpi_build_srat_memory to build_srat_memory Changes since v6: * squash first two patches of previous series together * fix the definition of proximity in AcpiSratMemoryAffinity * rename acpi_build_srat_memory to build_acpi_srat_memory Changes since v5: * don't generate /distance-map node since it's optional * improve the /memory node name * move acpi_build_srat_memory to common place then reuse it to generate SRAT table Changes since v4: * rebased on new kernel driver and device bindings, especially the compatible string "numa-distance-map-v1" of /distance-map node * set the numa-node-id for first /memory node Changes since v3: * based on new kernel driver and device bindings * add ACPI part Changes since v2: * update to use NUMA node property arm,associativity. Changes since v1: Take into account Peter's comments: * rename virt_memory_init to arm_generate_memory_dtb * move arm_generate_memory_dtb to boot.c and make it a common func * use a struct numa_map to generate numa dtb Shannon Zhao (5): ARM: Virt: Set numa-node-id for cpu and memory nodes ACPI: Add GICC Affinity Structure ACPI: Fix the definition of proximity in AcpiSratMemoryAffinity ACPI: move acpi_build_srat_memory to common place ACPI: Virt: Generate SRAT table hw/acpi/aml-build.c | 11 ++++++++++ hw/arm/boot.c | 43 +++++++++++++++++++++++++++++++------ hw/arm/virt-acpi-build.c | 52 +++++++++++++++++++++++++++++++++++++++++++++ hw/arm/virt.c | 8 +++++++ hw/i386/acpi-build.c | 41 +++++++++-------------------------- include/hw/acpi/acpi-defs.h | 17 +++++++++++++-- include/hw/acpi/aml-build.h | 10 +++++++++ 7 files changed, 143 insertions(+), 39 deletions(-) -- 2.0.4