From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:adf:a111:0:0:0:0:0 with SMTP id o17-v6csp2041606wro; Sun, 4 Nov 2018 18:00:46 -0800 (PST) X-Google-Smtp-Source: AJdET5cPKJzaMh4u5M2Grq0f6PHkfdMyMya+oEJuIsdFlb93ONnNjiGEDrr/JHPnMK4b1JrRZBn1 X-Received: by 2002:ac8:7119:: with SMTP id z25-v6mr19514815qto.270.1541383246438; Sun, 04 Nov 2018 18:00:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541383246; cv=none; d=google.com; s=arc-20160816; b=TNFwpGZeitWu45NzQDeQslZxMW14fTul66nv3wH+dvBfsAGJ3F4NXDfom7l3GV9JW4 3WKWqEASdMq3dDLcpQlz5KTqZYMtsktp9tM4dptuyl+ay0UFISnreZILUek65X72N50M E0J2p1JzybJBiSUZywoPIQ8I0UCRW1hXU2GfsRyuJFJwW8eHdzwEQkmHnqM1qPrpMguO k9VUWd/gIpzdfB6gjuZZY/bkzsLk82pcfetyQMX9dTZGklPzhw1+WjDekYbcJhCyWnth hjUVrQ/ChQkLPdat4mmGyy4J/rYNFOwHbD+9RAGDD09DUawfriqO+xV5hlMRYRiC3VyP h4kw== 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 :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from; bh=zjKQfoqipuMwsLVRaMciJvlDPj52rATv8Ev80gIV/gQ=; b=gp4xaF8fGWWv6g0snr9SugoemF4p5b4HnvdO8iU0ua59mjKyS27UohFSvJrOetdDuC 78+1goTYH0t3M7MZ4R/QYUBwnPD6z12RCNyBiTId9p+LhBJbZ8aHoPCDfDcggbMi/WPO uc91fDGYB1QUti2Fwt3Poq2bUhaTbtlj3uEryIeV/uXgbDsr3Otj7KcFwqOJXZ6RqCJe rxc97pcRrbbJqefiw4I2kYg5RwtmHfrUQQiV8hIGwhjXlgpbrlBYq3ASKovFrtPR2ybZ SvAdiiUkNazAlYrxh776prsXuCUT26c8w44Ofa7KtmUN54QNzJwrRW5LQ2YgT9XL7niM WGBw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id k38si3451272qvk.220.2018.11.04.18.00.46 for (version=TLS1 cipher=AES128-SHA bits=128/128); Sun, 04 Nov 2018 18:00:46 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-devel-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from localhost ([::1]:60960 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJUC5-0001q8-Pq for alex.bennee@linaro.org; Sun, 04 Nov 2018 21:00:45 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJTvA-0008PB-Kw for qemu-devel@nongnu.org; Sun, 04 Nov 2018 20:43:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJTv9-0003LM-EC for qemu-devel@nongnu.org; Sun, 04 Nov 2018 20:43:16 -0500 Received: from mga05.intel.com ([192.55.52.43]:26671) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gJTv9-0003Ia-2y; Sun, 04 Nov 2018 20:43:15 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Nov 2018 17:43:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,466,1534834800"; d="scan'208";a="277074476" Received: from emurphy1-mobl1.ger.corp.intel.com (HELO localhost.localdomain) ([10.252.26.250]) by fmsmga005.fm.intel.com with ESMTP; 04 Nov 2018 17:43:10 -0800 From: Samuel Ortiz To: qemu-devel@nongnu.org Date: Mon, 5 Nov 2018 02:40:41 +0100 Message-Id: <20181105014047.26447-19-sameo@linux.intel.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.55.52.43 Subject: [Qemu-devel] [PATCH v5 18/24] hw: i386: Export the MADT build method 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: Peter Maydell , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Shannon Zhao , Igor Mammedov , qemu-arm@nongnu.org, Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson Errors-To: qemu-devel-bounces+alex.bennee=linaro.org@nongnu.org Sender: "Qemu-devel" X-TUID: cHce/Crl2It2 It is going to be used by the PC machine type as the MADT table builder method and thus needs to be exported outside of acpi-build.c Also, now that the generic build_madt() API is exported, we have to rename the ARM static one in order to avoid build time conflicts. Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Signed-off-by: Samuel Ortiz --- include/hw/i386/acpi.h | 28 ++++++++++++++++++++++++++++ hw/arm/virt-acpi-build.c | 4 ++-- hw/i386/acpi-build.c | 4 ++-- 3 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 include/hw/i386/acpi.h diff --git a/include/hw/i386/acpi.h b/include/hw/i386/acpi.h new file mode 100644 index 0000000000..b7a887111d --- /dev/null +++ b/include/hw/i386/acpi.h @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2018 Intel Corportation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2 or later, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#ifndef HW_I386_ACPI_H +#define HW_I386_ACPI_H + +#include "hw/acpi/acpi.h" +#include "hw/acpi/bios-linker-loader.h" + +/* ACPI MADT (Multiple APIC Description Table) build method */ +void build_madt(GArray *table_data, BIOSLinker *linker, + MachineState *ms, AcpiConfiguration *conf); + +#endif diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index b5e165543a..b0354c5f03 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -564,7 +564,7 @@ build_gtdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) /* MADT */ static void -build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) +virt_build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) { VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms); int madt_start = table_data->len; @@ -745,7 +745,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) build_fadt_rev5(tables_blob, tables->linker, vms, dsdt); acpi_add_table(table_offsets, tables_blob); - build_madt(tables_blob, tables->linker, vms); + virt_build_madt(tables_blob, tables->linker, vms); acpi_add_table(table_offsets, tables_blob); build_gtdt(tables_blob, tables->linker, vms); diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index bef5b23168..4b1d8fbe3f 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -35,7 +35,6 @@ #include "hw/acpi/acpi.h" #include "hw/acpi/cpu.h" #include "hw/nvram/fw_cfg.h" -#include "hw/acpi/bios-linker-loader.h" #include "hw/loader.h" #include "hw/isa/isa.h" #include "hw/block/fdc.h" @@ -60,6 +59,7 @@ #include "qom/qom-qobject.h" #include "hw/i386/amd_iommu.h" #include "hw/i386/intel_iommu.h" +#include "hw/i386/acpi.h" #include "hw/acpi/ipmi.h" @@ -279,7 +279,7 @@ void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid, } } -static void +void build_madt(GArray *table_data, BIOSLinker *linker, MachineState *ms, AcpiConfiguration *acpi_conf) { -- 2.19.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Samuel Ortiz Subject: [PATCH v5 18/24] hw: i386: Export the MADT build method Date: Mon, 5 Nov 2018 02:40:41 +0100 Message-ID: <20181105014047.26447-19-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gJTvA-0004NI-5P for xen-devel@lists.xenproject.org; Mon, 05 Nov 2018 01:43:16 +0000 In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: Peter Maydell , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Shannon Zhao , Igor Mammedov , qemu-arm@nongnu.org, Marcel Apfelbaum , Paolo Bonzini , Anthony Perard , xen-devel@lists.xenproject.org, Richard Henderson List-Id: xen-devel@lists.xenproject.org SXQgaXMgZ29pbmcgdG8gYmUgdXNlZCBieSB0aGUgUEMgbWFjaGluZSB0eXBlIGFzIHRoZSBNQURU IHRhYmxlIGJ1aWxkZXIKbWV0aG9kIGFuZCB0aHVzIG5lZWRzIHRvIGJlIGV4cG9ydGVkIG91dHNp ZGUgb2YgYWNwaS1idWlsZC5jCgpBbHNvLCBub3cgdGhhdCB0aGUgZ2VuZXJpYyBidWlsZF9tYWR0 KCkgQVBJIGlzIGV4cG9ydGVkLCB3ZSBoYXZlIHRvCnJlbmFtZSB0aGUgQVJNIHN0YXRpYyBvbmUg aW4gb3JkZXIgdG8gYXZvaWQgYnVpbGQgdGltZSBjb25mbGljdHMuCgpSZXZpZXdlZC1ieTogUGhp bGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEByZWRoYXQuY29tPgpUZXN0ZWQtYnk6IFBoaWxp cHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogU2Ft dWVsIE9ydGl6IDxzYW1lb0BsaW51eC5pbnRlbC5jb20+Ci0tLQogaW5jbHVkZS9ody9pMzg2L2Fj cGkuaCAgIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaHcvYXJtL3ZpcnQtYWNw aS1idWlsZC5jIHwgIDQgKystLQogaHcvaTM4Ni9hY3BpLWJ1aWxkLmMgICAgIHwgIDQgKystLQog MyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGluY2x1ZGUvaHcvaTM4Ni9hY3BpLmgKCmRpZmYgLS1naXQgYS9pbmNsdWRl L2h3L2kzODYvYWNwaS5oIGIvaW5jbHVkZS9ody9pMzg2L2FjcGkuaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi5iN2E4ODcxMTFkCi0tLSAvZGV2L251bGwKKysrIGIvaW5j bHVkZS9ody9pMzg2L2FjcGkuaApAQCAtMCwwICsxLDI4IEBACisvKgorICoKKyAqIENvcHlyaWdo dCAoYykgMjAxOCBJbnRlbCBDb3Jwb3J0YXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICog dW5kZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSwKKyAqIHZlcnNpb24gMiBvciBsYXRlciwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAorICogQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ IG9yCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgKiBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYWxvbmcgd2l0aAorICogdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgorICovCisKKyNpZm5kZWYgSFdfSTM4Nl9BQ1BJX0gKKyNkZWZp bmUgSFdfSTM4Nl9BQ1BJX0gKKworI2luY2x1ZGUgImh3L2FjcGkvYWNwaS5oIgorI2luY2x1ZGUg Imh3L2FjcGkvYmlvcy1saW5rZXItbG9hZGVyLmgiCisKKy8qIEFDUEkgTUFEVCAoTXVsdGlwbGUg QVBJQyBEZXNjcmlwdGlvbiBUYWJsZSkgYnVpbGQgbWV0aG9kICovCit2b2lkIGJ1aWxkX21hZHQo R0FycmF5ICp0YWJsZV9kYXRhLCBCSU9TTGlua2VyICpsaW5rZXIsCisgICAgICAgICAgICAgICAg TWFjaGluZVN0YXRlICptcywgQWNwaUNvbmZpZ3VyYXRpb24gKmNvbmYpOworCisjZW5kaWYKZGlm ZiAtLWdpdCBhL2h3L2FybS92aXJ0LWFjcGktYnVpbGQuYyBiL2h3L2FybS92aXJ0LWFjcGktYnVp bGQuYwppbmRleCBiNWUxNjU1NDNhLi5iMDM1NGM1ZjAzIDEwMDY0NAotLS0gYS9ody9hcm0vdmly dC1hY3BpLWJ1aWxkLmMKKysrIGIvaHcvYXJtL3ZpcnQtYWNwaS1idWlsZC5jCkBAIC01NjQsNyAr NTY0LDcgQEAgYnVpbGRfZ3RkdChHQXJyYXkgKnRhYmxlX2RhdGEsIEJJT1NMaW5rZXIgKmxpbmtl ciwgVmlydE1hY2hpbmVTdGF0ZSAqdm1zKQogCiAvKiBNQURUICovCiBzdGF0aWMgdm9pZAotYnVp bGRfbWFkdChHQXJyYXkgKnRhYmxlX2RhdGEsIEJJT1NMaW5rZXIgKmxpbmtlciwgVmlydE1hY2hp bmVTdGF0ZSAqdm1zKQordmlydF9idWlsZF9tYWR0KEdBcnJheSAqdGFibGVfZGF0YSwgQklPU0xp bmtlciAqbGlua2VyLCBWaXJ0TWFjaGluZVN0YXRlICp2bXMpCiB7CiAgICAgVmlydE1hY2hpbmVD bGFzcyAqdm1jID0gVklSVF9NQUNISU5FX0dFVF9DTEFTUyh2bXMpOwogICAgIGludCBtYWR0X3N0 YXJ0ID0gdGFibGVfZGF0YS0+bGVuOwpAQCAtNzQ1LDcgKzc0NSw3IEBAIHZvaWQgdmlydF9hY3Bp X2J1aWxkKFZpcnRNYWNoaW5lU3RhdGUgKnZtcywgQWNwaUJ1aWxkVGFibGVzICp0YWJsZXMpCiAg ICAgYnVpbGRfZmFkdF9yZXY1KHRhYmxlc19ibG9iLCB0YWJsZXMtPmxpbmtlciwgdm1zLCBkc2R0 KTsKIAogICAgIGFjcGlfYWRkX3RhYmxlKHRhYmxlX29mZnNldHMsIHRhYmxlc19ibG9iKTsKLSAg ICBidWlsZF9tYWR0KHRhYmxlc19ibG9iLCB0YWJsZXMtPmxpbmtlciwgdm1zKTsKKyAgICB2aXJ0 X2J1aWxkX21hZHQodGFibGVzX2Jsb2IsIHRhYmxlcy0+bGlua2VyLCB2bXMpOwogCiAgICAgYWNw aV9hZGRfdGFibGUodGFibGVfb2Zmc2V0cywgdGFibGVzX2Jsb2IpOwogICAgIGJ1aWxkX2d0ZHQo dGFibGVzX2Jsb2IsIHRhYmxlcy0+bGlua2VyLCB2bXMpOwpkaWZmIC0tZ2l0IGEvaHcvaTM4Ni9h Y3BpLWJ1aWxkLmMgYi9ody9pMzg2L2FjcGktYnVpbGQuYwppbmRleCBiZWY1YjIzMTY4Li40YjFk OGZiZTNmIDEwMDY0NAotLS0gYS9ody9pMzg2L2FjcGktYnVpbGQuYworKysgYi9ody9pMzg2L2Fj cGktYnVpbGQuYwpAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgImh3L2FjcGkvYWNwaS5oIgog I2luY2x1ZGUgImh3L2FjcGkvY3B1LmgiCiAjaW5jbHVkZSAiaHcvbnZyYW0vZndfY2ZnLmgiCi0j aW5jbHVkZSAiaHcvYWNwaS9iaW9zLWxpbmtlci1sb2FkZXIuaCIKICNpbmNsdWRlICJody9sb2Fk ZXIuaCIKICNpbmNsdWRlICJody9pc2EvaXNhLmgiCiAjaW5jbHVkZSAiaHcvYmxvY2svZmRjLmgi CkBAIC02MCw2ICs1OSw3IEBACiAjaW5jbHVkZSAicW9tL3FvbS1xb2JqZWN0LmgiCiAjaW5jbHVk ZSAiaHcvaTM4Ni9hbWRfaW9tbXUuaCIKICNpbmNsdWRlICJody9pMzg2L2ludGVsX2lvbW11Lmgi CisjaW5jbHVkZSAiaHcvaTM4Ni9hY3BpLmgiCiAKICNpbmNsdWRlICJody9hY3BpL2lwbWkuaCIK IApAQCAtMjc5LDcgKzI3OSw3IEBAIHZvaWQgcGNfbWFkdF9jcHVfZW50cnkoQWNwaURldmljZUlm ICphZGV2LCBpbnQgdWlkLAogICAgIH0KIH0KIAotc3RhdGljIHZvaWQKK3ZvaWQKIGJ1aWxkX21h ZHQoR0FycmF5ICp0YWJsZV9kYXRhLCBCSU9TTGlua2VyICpsaW5rZXIsCiAgICAgICAgICAgIE1h Y2hpbmVTdGF0ZSAqbXMsIEFjcGlDb25maWd1cmF0aW9uICphY3BpX2NvbmYpCiB7Ci0tIAoyLjE5 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gJTvA-0008PB-Kw for qemu-devel@nongnu.org; Sun, 04 Nov 2018 20:43:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gJTv9-0003LM-EC for qemu-devel@nongnu.org; Sun, 04 Nov 2018 20:43:16 -0500 From: Samuel Ortiz Date: Mon, 5 Nov 2018 02:40:41 +0100 Message-Id: <20181105014047.26447-19-sameo@linux.intel.com> In-Reply-To: <20181105014047.26447-1-sameo@linux.intel.com> References: <20181105014047.26447-1-sameo@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH v5 18/24] hw: i386: Export the MADT build method List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Shannon Zhao , Stefano Stabellini , Anthony Perard , Richard Henderson , Marcel Apfelbaum , xen-devel@lists.xenproject.org, Paolo Bonzini , "Michael S. Tsirkin" , Igor Mammedov , qemu-arm@nongnu.org, Peter Maydell , Eduardo Habkost It is going to be used by the PC machine type as the MADT table builder method and thus needs to be exported outside of acpi-build.c Also, now that the generic build_madt() API is exported, we have to rename the ARM static one in order to avoid build time conflicts. Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Signed-off-by: Samuel Ortiz --- include/hw/i386/acpi.h | 28 ++++++++++++++++++++++++++++ hw/arm/virt-acpi-build.c | 4 ++-- hw/i386/acpi-build.c | 4 ++-- 3 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 include/hw/i386/acpi.h diff --git a/include/hw/i386/acpi.h b/include/hw/i386/acpi.h new file mode 100644 index 0000000000..b7a887111d --- /dev/null +++ b/include/hw/i386/acpi.h @@ -0,0 +1,28 @@ +/* + * + * Copyright (c) 2018 Intel Corportation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms and conditions of the GNU General Public License, + * version 2 or later, as published by the Free Software Foundation. + * + * This program is distributed in the hope it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#ifndef HW_I386_ACPI_H +#define HW_I386_ACPI_H + +#include "hw/acpi/acpi.h" +#include "hw/acpi/bios-linker-loader.h" + +/* ACPI MADT (Multiple APIC Description Table) build method */ +void build_madt(GArray *table_data, BIOSLinker *linker, + MachineState *ms, AcpiConfiguration *conf); + +#endif diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index b5e165543a..b0354c5f03 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -564,7 +564,7 @@ build_gtdt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) /* MADT */ static void -build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) +virt_build_madt(GArray *table_data, BIOSLinker *linker, VirtMachineState *vms) { VirtMachineClass *vmc = VIRT_MACHINE_GET_CLASS(vms); int madt_start = table_data->len; @@ -745,7 +745,7 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuildTables *tables) build_fadt_rev5(tables_blob, tables->linker, vms, dsdt); acpi_add_table(table_offsets, tables_blob); - build_madt(tables_blob, tables->linker, vms); + virt_build_madt(tables_blob, tables->linker, vms); acpi_add_table(table_offsets, tables_blob); build_gtdt(tables_blob, tables->linker, vms); diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index bef5b23168..4b1d8fbe3f 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -35,7 +35,6 @@ #include "hw/acpi/acpi.h" #include "hw/acpi/cpu.h" #include "hw/nvram/fw_cfg.h" -#include "hw/acpi/bios-linker-loader.h" #include "hw/loader.h" #include "hw/isa/isa.h" #include "hw/block/fdc.h" @@ -60,6 +59,7 @@ #include "qom/qom-qobject.h" #include "hw/i386/amd_iommu.h" #include "hw/i386/intel_iommu.h" +#include "hw/i386/acpi.h" #include "hw/acpi/ipmi.h" @@ -279,7 +279,7 @@ void pc_madt_cpu_entry(AcpiDeviceIf *adev, int uid, } } -static void +void build_madt(GArray *table_data, BIOSLinker *linker, MachineState *ms, AcpiConfiguration *acpi_conf) { -- 2.19.1