From patchwork Wed Apr 6 01:25:39 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Boris Ostrovsky X-Patchwork-Id: 8757131 Return-Path: X-Original-To: patchwork-xen-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 675CFC0553 for ; Wed, 6 Apr 2016 01:23:44 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 8633A202AE for ; Wed, 6 Apr 2016 01:23:43 +0000 (UTC) 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.kernel.org (Postfix) with ESMTPS id 9C60F20154 for ; Wed, 6 Apr 2016 01:23:42 +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 1anc9E-0004RK-C1; Wed, 06 Apr 2016 01:20:44 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1anc9C-0004NP-HO for xen-devel@lists.xen.org; Wed, 06 Apr 2016 01:20:42 +0000 Received: from [85.158.137.68] by server-7.bemta-3.messagelabs.com id D5/0D-04060-96464075; Wed, 06 Apr 2016 01:20:41 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLLMWRWlGSWpSXmKPExsUyZ7p8oG5mCku 4wauL3BZLPi5mcWD0OLr7N1MAYxRrZl5SfkUCa8ar0+eZCt6JVtycv4WpgfGBUBcjF4eQQDuT xJXn/5ggnM+MElc6lrJBOBsYJY4de8UM4fQwSjw8uoOxi5GTg03ASOLs0elgtoiAtMS1z5cZQ YqYBa4ySRz70MECkhAWSJZ40XiEDcRmEVCVWHZhAzOIzSvgLfFjfxsTiC0hICdxbv0XoHoODk 6g+JvN9iBhIQEviWsve9ghSowl+mb1sUxg5FvAyLCKUaM4tagstUjX0EwvqSgzPaMkNzEzR9f QwFgvN7W4ODE9NScxqVgvOT93EyMwWBiAYAfjqu2ehxglOZiURHn3vWcOF+JLyk+pzEgszogv Ks1JLT7EKMPBoSTB+zaJJVxIsCg1PbUiLTMHGLYwaQkOHiURXq5koDRvcUFibnFmOkTqFKOil DjvTpA+AZBERmkeXBssVi4xykoJ8zICHSLEU5BalJtZgir/ilGcg1FJGGI8T2ZeCdz0V0CLmY AW1wszgSwuSURISTUwlt8uzNp0R+bRlXOFlcq2hx89298tPmU1A5+YxYqSLWyXM14XhjIpr6i oK11/ate9tsjz3J8P50tbHtJUmuO1cb/jToOH/k5ztK9PZFfZeEey8dRn30+M2/K9GSc78Wlc XvLgWf8nl1U8XK/FnX9tmph0qFj54q2QlR93PzFYsPx9df/OLvWoxUosxRmJhlrMRcWJAOMsN rSQAgAA X-Env-Sender: boris.ostrovsky@oracle.com X-Msg-Ref: server-16.tower-31.messagelabs.com!1459905639!25706790!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.28; banners=-,-,- X-VirusChecked: Checked Received: (qmail 39343 invoked from network); 6 Apr 2016 01:20:40 -0000 Received: from userp1040.oracle.com (HELO userp1040.oracle.com) (156.151.31.81) by server-16.tower-31.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 6 Apr 2016 01:20:40 -0000 Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u361KaH9005206 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 6 Apr 2016 01:20:37 GMT Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0021.oracle.com (8.13.8/8.13.8) with ESMTP id u361KaAq007457 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 6 Apr 2016 01:20:36 GMT Received: from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id u361KZJd006801; Wed, 6 Apr 2016 01:20:35 GMT Received: from ovs102.us.oracle.com (/10.149.76.202) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 05 Apr 2016 18:20:35 -0700 From: Boris Ostrovsky To: xen-devel@lists.xen.org Date: Tue, 5 Apr 2016 21:25:39 -0400 Message-Id: <1459905949-10358-11-git-send-email-boris.ostrovsky@oracle.com> X-Mailer: git-send-email 2.4.3 In-Reply-To: <1459905949-10358-1-git-send-email-boris.ostrovsky@oracle.com> References: <1459905949-10358-1-git-send-email-boris.ostrovsky@oracle.com> X-Source-IP: aserv0021.oracle.com [141.146.126.233] Cc: Keir Fraser , Stefano Stabellini , Andrew Cooper , Ian Jackson , Jan Beulich , Wei Liu , Boris Ostrovsky , roger.pau@citrix.com Subject: [Xen-devel] [PATCH RFC 10/20] acpi/hvmloader: Provide address of acpi_info as an argument to ACPI code 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-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Some users of ACPI builder may be building tables in virtual address space. Signed-off-by: Boris Ostrovsky --- tools/firmware/hvmloader/acpi/acpi2_0.h | 4 ++++ tools/firmware/hvmloader/acpi/build.c | 3 +-- tools/firmware/hvmloader/config.h | 3 +-- tools/firmware/hvmloader/util.c | 1 + 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/firmware/hvmloader/acpi/acpi2_0.h b/tools/firmware/hvmloader/acpi/acpi2_0.h index cf707b8..0bfd3ed 100644 --- a/tools/firmware/hvmloader/acpi/acpi2_0.h +++ b/tools/firmware/hvmloader/acpi/acpi2_0.h @@ -306,6 +306,9 @@ struct acpi_20_waet { #define ACPI_TIS_HDR_ADDRESS 0xFED40F00UL +/* NB. ACPI_INFO_PHYSICAL_ADDRESS *MUST* match definition in acpi/dsdt.asl! */ +#define ACPI_INFO_PHYSICAL_ADDRESS 0xFC000000UL + /* * Multiple APIC Flags. */ @@ -504,6 +507,7 @@ struct acpi_config { int apic_mode; struct acpi_numa numa; uint16_t *tis_hdr; + void *acpi_info_page; }; void acpi_build_tables(struct acpi_config *config, unsigned int physical); diff --git a/tools/firmware/hvmloader/acpi/build.c b/tools/firmware/hvmloader/acpi/build.c index 2bf89e4..991a73f 100644 --- a/tools/firmware/hvmloader/acpi/build.c +++ b/tools/firmware/hvmloader/acpi/build.c @@ -589,8 +589,7 @@ void acpi_build_tables(struct acpi_config *config, unsigned int physical) if ( !new_vm_gid(config) ) goto oom; - memcpy((struct acpi_info *)ACPI_INFO_PHYSICAL_ADDRESS, - &config->acpi_info, + memcpy(config->acpi_info_page, &config->acpi_info, sizeof(config->acpi_info)); return; diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h index b838cf9..6253155 100644 --- a/tools/firmware/hvmloader/config.h +++ b/tools/firmware/hvmloader/config.h @@ -65,8 +65,7 @@ extern uint64_t pci_hi_mem_start, pci_hi_mem_end; #define HVMLOADER_PHYSICAL_ADDRESS 0x00100000 /* Special BIOS mappings, etc. are allocated from here upwards... */ #define RESERVED_MEMBASE 0xFC000000 -/* NB. ACPI_INFO_PHYSICAL_ADDRESS *MUST* match definition in acpi/dsdt.asl! */ -#define ACPI_INFO_PHYSICAL_ADDRESS 0xFC000000 + #define RESERVED_MEMORY_DYNAMIC_START 0xFC001000 #define RESERVED_MEMORY_DYNAMIC_END 0xFE000000 /* diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c index c2145f6..d099adb 100644 --- a/tools/firmware/hvmloader/util.c +++ b/tools/firmware/hvmloader/util.c @@ -925,6 +925,7 @@ void hvmloader_acpi_build_tables(struct acpi_config *config, config->numa.vmemrange = vmemrange; config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS; + config->acpi_info_page = (void *)ACPI_INFO_PHYSICAL_ADDRESS; acpi_build_tables(config, physical);