From patchwork Tue Jul 5 19:05:17 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Boris Ostrovsky X-Patchwork-Id: 9215145 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0F0D760752 for ; Tue, 5 Jul 2016 19:14:37 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0028428333 for ; Tue, 5 Jul 2016 19:14:37 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E8C1A28338; Tue, 5 Jul 2016 19:14:36 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 922B428333 for ; Tue, 5 Jul 2016 19:14:36 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bKVm2-0005DM-Ak; Tue, 05 Jul 2016 19:12:46 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bKVm1-0005CA-72 for xen-devel@lists.xen.org; Tue, 05 Jul 2016 19:12:45 +0000 Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id 8E/59-20705-CA60C775; Tue, 05 Jul 2016 19:12:44 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLLMWRWlGSWpSXmKPExsUyZ7p8oO5Ktpp wg3edVhZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa8brKeuZC56KVOy5uYmpgfEXfxcjJ4eQwAQm iUlXfLoYuYDsz4wSV1dcZ4RwNjBKHH04iQnC6WGUmLv9ITtIC5uAkcTZo9MZQWwRAWmJa58vg 3UwC9xilNj++w4zSEJYwFLi84EzLCA2i4CqxOEba1lBbF4BL4mWL8fB4hICchI7Vj9hArE5ge LrG1+xQNzkKbHpyVl2iBpDic8blzJPYORbwMiwilGjOLWoLLVI18hIL6koMz2jJDcxM0fX0MB YLze1uDgxPTUnMalYLzk/dxMjMFjqGRgYdzBOPeF3iFGSg0lJlJflW3W4EF9SfkplRmJxRnxR aU5q8SFGGQ4OJQnectaacCHBotT01Iq0zBxg2MKkJTh4lER4j4CkeYsLEnOLM9MhUqcYFaXEe ZtBEgIgiYzSPLg2WKxcYpSVEuZlZGBgEOIpSC3KzSxBlX/FKM7BqCTMuxhkCk9mXgnc9FdAi5 mAFv90qQZZXJKIkJJqYCxZMo3v5d+jBR18XfVeW5b+OnuiYp6MV9Lqc0dUFB2LpokkdV0tFSv /+OfQgh6705Jrzm2TDPQxOFCaKDlz398265eJW05w/P13Pe9X8yuNXrdfTw6m9M3c+UOMbVP2 WaP3Xw+pbjQwyvmx0jGHy+avxovIYKY3OxdMNJhcuT/JvjfneS+rqK8SS3FGoqEWc1FxIgA8A QHZkAIAAA== X-Env-Sender: boris.ostrovsky@oracle.com X-Msg-Ref: server-3.tower-31.messagelabs.com!1467745960!48993609!1 X-Originating-IP: [156.151.31.81] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogMTU2LjE1MS4zMS44MSA9PiAyODgzMzk=\n X-StarScan-Received: X-StarScan-Version: 8.46; banners=-,-,- X-VirusChecked: Checked Received: (qmail 22237 invoked from network); 5 Jul 2016 19:12:41 -0000 Received: from userp1040.oracle.com (HELO userp1040.oracle.com) (156.151.31.81) by server-3.tower-31.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 5 Jul 2016 19:12:41 -0000 Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u65JBTap022864 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 5 Jul 2016 19:11:29 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.13.8) with ESMTP id u65JBTD6018117 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 5 Jul 2016 19:11:29 GMT Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id u65JBSLq009110; Tue, 5 Jul 2016 19:11:29 GMT Received: from ovs104.us.oracle.com (/10.149.76.204) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 05 Jul 2016 19:11:28 +0000 From: Boris Ostrovsky To: xen-devel@lists.xen.org Date: Tue, 5 Jul 2016 15:05:17 -0400 Message-Id: <1467745519-9868-19-git-send-email-boris.ostrovsky@oracle.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1467745519-9868-1-git-send-email-boris.ostrovsky@oracle.com> References: <1467745519-9868-1-git-send-email-boris.ostrovsky@oracle.com> X-Source-IP: userv0022.oracle.com [156.151.31.74] Cc: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, julien.grall@arm.com, jbeulich@suse.com, zhaoshenglong@huawei.com, boris.ostrovsky@oracle.com, roger.pau@citrix.com Subject: [Xen-devel] [PATCH v1 18/20] libxl/acpi: Add ACPI e820 entry X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Add entry for ACPI tables created for PVHv2 guests to e820 map. Signed-off-by: Boris Ostrovsky --- New patch tools/libxc/include/xc_dom.h | 4 ++++ tools/libxl/libxl_dom.c | 8 ++++---- tools/libxl/libxl_x86.c | 11 +++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/tools/libxc/include/xc_dom.h b/tools/libxc/include/xc_dom.h index 6cb10c4..ec2da14 100644 --- a/tools/libxc/include/xc_dom.h +++ b/tools/libxc/include/xc_dom.h @@ -102,6 +102,10 @@ struct xc_dom_image { xen_vaddr_t virt_alloc_end; xen_vaddr_t bsd_symtab_start; + /* ACPI tables (PVHv2 only) */ + xen_pfn_t acpi_pfn; + xen_pfn_t acpi_pages; + /* * initrd parameters as specified in start_info page * Depending on capabilities of the booted kernel this may be a virtual diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c index ec29060..ccc41b4 100644 --- a/tools/libxl/libxl_dom.c +++ b/tools/libxl/libxl_dom.c @@ -1063,16 +1063,16 @@ int libxl__build_hvm(libxl__gc *gc, uint32_t domid, dom->vnode_to_pnode[i] = info->vnuma_nodes[i].pnode; } + rc = libxl__build_dom(gc, domid, info, state, dom); + if (rc != 0) + goto out; + rc = libxl__arch_domain_construct_memmap(gc, d_config, domid, dom); if (rc != 0) { LOG(ERROR, "setting domain memory map failed"); goto out; } - rc = libxl__build_dom(gc, domid, info, state, dom); - if (rc != 0) - goto out; - rc = hvm_build_set_params(ctx->xch, domid, info, state->store_port, &state->store_mfn, state->console_port, &state->console_mfn, state->store_domid, diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c index 46cfafb..32ce1d2 100644 --- a/tools/libxl/libxl_x86.c +++ b/tools/libxl/libxl_x86.c @@ -503,6 +503,10 @@ int libxl__arch_domain_construct_memmap(libxl__gc *gc, if (highmem_size) e820_entries++; + /* PVHv2's ACPI tables */ + if (dom->acpi_pages) + e820_entries++; + if (e820_entries >= E820MAX) { LOG(ERROR, "Ooops! Too many entries in the memory map!"); rc = ERROR_INVAL; @@ -528,6 +532,13 @@ int libxl__arch_domain_construct_memmap(libxl__gc *gc, nr++; } + if (dom->acpi_pages) { + e820[nr].addr = dom->acpi_pfn << XC_DOM_PAGE_SHIFT(dom); + e820[nr].size = dom->acpi_pages << XC_DOM_PAGE_SHIFT(dom); + e820[nr].type = E820_ACPI; + nr++; + } + /* High memory */ if (highmem_size) { e820[nr].addr = ((uint64_t)1 << 32);