From patchwork Fri Mar 8 11:42:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shameerali Kolothum Thodi X-Patchwork-Id: 159968 Delivered-To: patch@linaro.org Received: by 2002:a02:5cc1:0:0:0:0:0 with SMTP id w62csp8609739jad; Fri, 8 Mar 2019 03:47:43 -0800 (PST) X-Google-Smtp-Source: APXvYqwkukJQCHxbV1ku3iWDPfmPcTxc78xIgqkw9HrxfolrRKxErqPZUUOc1CoSHBjyDFMma6Ad X-Received: by 2002:a0d:edc3:: with SMTP id w186mr14138753ywe.301.1552045663833; Fri, 08 Mar 2019 03:47:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1552045663; cv=none; d=google.com; s=arc-20160816; b=IaEFFI4sjQvXeqMBDda2GQtkONhKoBSX5hvBLgLwtIxM6X6m7+VlWWK3EuC58zyt4C uaIqEZ6q/1OU3MYrrIS7YHHpCRxKhH3Hil8V1RSKofE16lYFEdul4cjVA79VM1ojAXQm EuMh/XpuNmumatPOvbMssupylxCiYgg7MGGr0pS8J1eqc/GppKGrHjRupwO1qZ6X8VKy z/mFtqIEQOYxZd/s4z/RtH0+58J+KrmvR1HH0SzcBr5/YBAi58U2R+y1HUfIkiqOOBUc 481l3SVK4HzTRwIjZMc8CIzdgYLdqxQJOI541yxxJM8D5n7TUkReIjyFUFsc4a/Rq0H+ lU+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:mime-version:message-id :date:to:from; bh=pVhhs/05QCwF8ozOzbUMQigb0T0yO3jUHCI8UKepi2g=; b=BJTGJwFgmqT36RGM1yTXpK5VXSdMC9oTudkUy/GhKIWrczE3lJyeuX4kJ65P/m0pP4 nJ58KAlv4FrXuitNQdewHQ+d6q3k1vj1wbETQvEFNj8eHL4VgV7alslaRiYZaMZiMy0q L9yu4wAAbwXoiSGxENuiHqiVWwa8jmXGUZsy4p8SBT/rfeZ8cIuwvdGVY0f+sIdK6Fxk DOqjlRO7cwP3PKcotU1lONoPTPzSSprzI6mVghIKxvhpA6FL8nmiZnK3zmEdqh0P9aau ulhTkO7abTUXzduGhkxdIm4aVP/FHFm0wFxZMtZzPINaWAHNOTskrSJXOqzSYuPCHbYx VoZg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id m62si4278357ywc.20.2019.03.08.03.47.43 for (version=TLS1 cipher=AES128-SHA bits=128/128); Fri, 08 Mar 2019 03:47:43 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org" Received: from localhost ([127.0.0.1]:41546 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h2DyX-0001Bg-Bo for patch@linaro.org; Fri, 08 Mar 2019 06:47:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40383) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h2DvV-00084q-0E for qemu-devel@nongnu.org; Fri, 08 Mar 2019 06:44:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h2DvT-0005Ba-2S for qemu-devel@nongnu.org; Fri, 08 Mar 2019 06:44:31 -0500 Received: from szxga04-in.huawei.com ([45.249.212.190]:2187 helo=huawei.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h2DvO-0003x5-Jg; Fri, 08 Mar 2019 06:44:26 -0500 Received: from DGGEMS410-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id EACDA5DAFEDF94D7BAA8; Fri, 8 Mar 2019 19:44:12 +0800 (CST) Received: from S00345302A-PC.china.huawei.com (10.202.227.237) by DGGEMS410-HUB.china.huawei.com (10.3.19.210) with Microsoft SMTP Server id 14.3.408.0; Fri, 8 Mar 2019 19:44:04 +0800 From: Shameer Kolothum To: , , , , , , , Date: Fri, 8 Mar 2019 11:42:07 +0000 Message-ID: <20190308114218.26692-1-shameerali.kolothum.thodi@huawei.com> X-Mailer: git-send-email 2.12.0.windows.1 MIME-Version: 1.0 X-Originating-IP: [10.202.227.237] X-CFilter-Loop: Reflected X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 45.249.212.190 Subject: [Qemu-devel] [PATCH v2 00/11] ARM virt: ACPI memory hotplug support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linuxarm@huawei.com, xuwei5@hisilicon.com Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This series is an attempt to provide device memory hotplug support on ARM virt platform. This is based on Eric's recent works here[1] and carries some of the pc-dimm related patches dropped from his series. The kernel support for arm64 memory hot add was added recently by Robin and hence the guest kernel should be => 5.0-rc1. NVDIM support is not included currently as we still have an unresolved issue while hot adding NVDIMM[2]. However NVDIMM cold plug patches can be included, but not done for now, for keeping it simple. This makes use of GED device to sent hotplug ACPI events to the Guest. GED code is based on Nemu. Thanks to the efforts of Samuel and Sebastien to add the hardware-reduced support to Nemu using GED device[3]. (Please shout if I got the author/signed-off wrong for those patches or missed any names). This series can be applied on top of Eric's branch here[4]. This is sanity tested on a HiSilicon ARM64 platform and appreciate any further testing. Thanks, Shameer [1] https://patchwork.kernel.org/cover/10837565/ [2] https://patchwork.kernel.org/cover/10783589/ [3] https://github.com/intel/nemu/blob/topic/virt-x86/hw/acpi/ged.c [4] https://github.com/eauger/qemu/tree/v3.1.0-extended-memmap-v12 RFC --> v2 -Use GED device instead of GPIO for ACPI hotplug events. -Removed NVDIMM support for now. -Includes dropped patches from Eric's v9 series. Eric Auger (1): hw/arm/virt: Add memory hotplug framework Samuel Ortiz (3): hw/acpi: Do not create memory hotplug method when handler is not defined hw/arm/virt: Add virtual ACPI device hw/acpi: Add ACPI Generic Event Device Support Sebastien Boeuf (1): hw/acpi: Move constant definitions to header files Shameer Kolothum (6): hw/acpi: Make ACPI IO address space configurable hw/arm/virt: Add ACPI support for device memory cold-plug hw/arm/virt-acpi-build: Add PC-DIMM in SRAT hw/arm/boot: Expose the PC-DIMM nodes in the DT hw/arm/virt: Add GED device configuration and build aml hw/arm/virt: Add GED irq routing and Enable memory hotplug default-configs/arm-softmmu.mak | 4 + hw/acpi/Makefile.objs | 1 + hw/acpi/ged.c | 198 +++++++++++++++++++++++++++++++++++++++ hw/acpi/memory_hotplug.c | 58 ++++-------- hw/arm/Makefile.objs | 2 +- hw/arm/boot.c | 42 +++++++++ hw/arm/virt-acpi-build.c | 31 ++++++ hw/arm/virt-acpi.c | 161 +++++++++++++++++++++++++++++++ hw/arm/virt.c | 93 +++++++++++++++++- hw/i386/acpi-build.c | 3 +- include/hw/acpi/ged.h | 61 ++++++++++++ include/hw/acpi/memory_hotplug.h | 31 +++++- include/hw/arm/virt.h | 8 ++ 13 files changed, 649 insertions(+), 44 deletions(-) create mode 100644 hw/acpi/ged.c create mode 100644 hw/arm/virt-acpi.c create mode 100644 include/hw/acpi/ged.h -- 2.7.4