From patchwork Tue Mar 14 17:35:53 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vitaly Kuznetsov X-Patchwork-Id: 9624029 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 A873D60492 for ; Tue, 14 Mar 2017 17:38:22 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9B57428503 for ; Tue, 14 Mar 2017 17:38:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8FF94285A3; Tue, 14 Mar 2017 17:38:22 +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 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 3311F28503 for ; Tue, 14 Mar 2017 17:38:22 +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 1cnqN8-0001Xd-AI; Tue, 14 Mar 2017 17:36:34 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cnqN7-0001Vu-IA for xen-devel@lists.xenproject.org; Tue, 14 Mar 2017 17:36:33 +0000 Received: from [85.158.143.35] by server-9.bemta-6.messagelabs.com id 8F/01-13095-02A28C85; Tue, 14 Mar 2017 17:36:32 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGLMWRWlGSWpSXmKPExsVysWW7jK6C1ok Ig8vfJSy+b5nM5MDocfjDFZYAxijWzLyk/IoE1oz7Lb9ZCuYLVjzZ1cfYwHiMr4uRi0NIYDeT xLmlS5kgnCOMEvc3XmLpYuTkYBPQkfj+9BQziC0ioCRxb9VksCJmgU2MEg9aT7ODJIQFwiUOb nvJBmKzCKhKrF7SDBbnFbCQuD+9mRHE5gSyd045BjZUSMBc4vW5bWBxCQFtiVMbv7ODDJUQ6G OUaO15yDiBkWcBI8MqRvXi1KKy1CJdE72kosz0jJLcxMwcXUMDM73c1OLixPTUnMSkYr3k/Nx NjEDfMwDBDsbuy/6HGCU5mJREeVUET0QI8SXlp1RmJBZnxBeV5qQWH2KU4eBQkuB9qQGUEyxK TU+tSMvMAQYhTFqCg0dJhHcNSJq3uCAxtzgzHSJ1itGYY87s3W+YOHr+AUkhlrz8vFQpcd5ok FIBkNKM0jy4QbDouMQoKyXMywh0mhBPQWpRbmYJqvwrRnEORiVh3r8gU3gy80rg9r0COoUJ6J TEn0dATilJREhJNTC2Ov+c2XjMbMMfQbF4R9MENRcjo82P0y6d1ptsfCnd62f+2qZbcbfSNt5 kfp00jyvrffc0LpNju0RvxTsvLRWYp9azOrrzpibXApNiftWH4rz7NfKO6TxZuHPVsrSde5Si RMrl9k3/NKH4XMTzk/v3/3SYKloW8D7+oLSNgEH98VjvLQ6TjJ4psRRnJBpqMRcVJwIAliEPO IkCAAA= X-Env-Sender: vkuznets@redhat.com X-Msg-Ref: server-16.tower-21.messagelabs.com!1489512991!57787928!1 X-Originating-IP: [209.132.183.28] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogMjA5LjEzMi4xODMuMjggPT4gNTQwNjQ=\n X-StarScan-Received: X-StarScan-Version: 9.2.3; banners=-,-,- X-VirusChecked: Checked Received: (qmail 60156 invoked from network); 14 Mar 2017 17:36:32 -0000 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by server-16.tower-21.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 14 Mar 2017 17:36:32 -0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BAEF113A60; Tue, 14 Mar 2017 17:36:31 +0000 (UTC) Received: from vitty.brq.redhat.com (vitty.brq.redhat.com [10.34.26.3]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v2EHZvDx016231; Tue, 14 Mar 2017 13:36:30 -0400 From: Vitaly Kuznetsov To: xen-devel@lists.xenproject.org Date: Tue, 14 Mar 2017 18:35:53 +0100 Message-Id: <20170314173556.2249-19-vkuznets@redhat.com> In-Reply-To: <20170314173556.2249-1-vkuznets@redhat.com> References: <20170314173556.2249-1-vkuznets@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.22 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Tue, 14 Mar 2017 17:36:31 +0000 (UTC) Cc: Juergen Gross , Boris Ostrovsky , x86@kernel.org, Andrew Jones , linux-kernel@vger.kernel.org Subject: [Xen-devel] [PATCH v3 18/21] xen/balloon: decorate PV-only parts with #ifdef CONFIG_XEN_PV 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 Balloon driver uses several PV-only concepts (xen_start_info, xen_extra_mem,..) and it seems the simpliest solution to make HVM-only build happy is to decorate these parts with #ifdefs. Signed-off-by: Vitaly Kuznetsov Reviewed-by: Juergen Gross --- drivers/xen/balloon.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c index a6d4378..50dcb68 100644 --- a/drivers/xen/balloon.c +++ b/drivers/xen/balloon.c @@ -709,6 +709,7 @@ void free_xenballooned_pages(int nr_pages, struct page **pages) } EXPORT_SYMBOL(free_xenballooned_pages); +#ifdef CONFIG_XEN_PV static void __init balloon_add_region(unsigned long start_pfn, unsigned long pages) { @@ -732,19 +733,22 @@ static void __init balloon_add_region(unsigned long start_pfn, balloon_stats.total_pages += extra_pfn_end - start_pfn; } +#endif static int __init balloon_init(void) { - int i; - if (!xen_domain()) return -ENODEV; pr_info("Initialising balloon driver\n"); +#ifdef CONFIG_XEN_PV balloon_stats.current_pages = xen_pv_domain() ? min(xen_start_info->nr_pages - xen_released_pages, max_pfn) : get_num_physpages(); +#else + balloon_stats.current_pages = get_num_physpages(); +#endif balloon_stats.target_pages = balloon_stats.current_pages; balloon_stats.balloon_low = 0; balloon_stats.balloon_high = 0; @@ -761,14 +765,20 @@ static int __init balloon_init(void) register_sysctl_table(xen_root); #endif - /* - * Initialize the balloon with pages from the extra memory - * regions (see arch/x86/xen/setup.c). - */ - for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) - if (xen_extra_mem[i].n_pfns) - balloon_add_region(xen_extra_mem[i].start_pfn, - xen_extra_mem[i].n_pfns); +#ifdef CONFIG_XEN_PV + { + int i; + + /* + * Initialize the balloon with pages from the extra memory + * regions (see arch/x86/xen/setup.c). + */ + for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) + if (xen_extra_mem[i].n_pfns) + balloon_add_region(xen_extra_mem[i].start_pfn, + xen_extra_mem[i].n_pfns); + } +#endif return 0; }