Received: by 10.223.185.116 with SMTP id b49csp6506088wrg; Wed, 28 Feb 2018 10:31:26 -0800 (PST) X-Google-Smtp-Source: AH8x227uRDgahJ+Us+HYWivdHuuad56G1jaJEF0/8GdUWAokXmwhv86wktuliqVlKaKTUIbt59+4 X-Received: by 2002:a17:902:3103:: with SMTP id w3-v6mr18077076plb.99.1519842686566; Wed, 28 Feb 2018 10:31:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519842686; cv=none; d=google.com; s=arc-20160816; b=PQhhLgbmqn13U5eMvLscAcfreRMh+SxBtUo9iTjGc8hWPNhazXDGLNt4loePmgSTvr AZN53u9KLWaaPU02vgNolhW7e7vLCxsE2lpJjnx9SyUMRGQzsyoUknXCWqwZP3VO+khU NGsHMU1X40/mVcNM0OzlMY1nrtZj/6GvGhlAFxi6wrDaejjL+OB1EkY5DjGIEEE3bgsF tfs1UwXxMenISr/ij8aROgnWay9hebKGtcvPl/4BIK/QsSMRBhJWYjj0GxJOyITRj2cg pRa5zbqU0rDscdRWGhnyyCfGd27NbkutBgqL59Loax5ZWOnHHaiepctB29hnPLSfgNh6 mhaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=LpPXQBBTQ3lMwM4sTuCN8AlXrwBuQXb7ILt8nDLC4zM=; b=wx7Wgfyuyzw1JFABq15ts7xYzW4dWapalFGQODTFJ/qfs8w7z7UFntpBsGltAlE3iV O22U9uspYgvapospAybiE1qF56bgSHbD8+R+WPaAMOKvagS39SH7SCr9MuhCGoodSPxq XifEquKMRxJQZppPKd2tVkol1Vz+4TY6jBNF4TdEcC8hBuvcNp+/TwIQRxqEiDpSGbQe vbHzeMjPZL7DCnsk/uMGl7KWDvT8QUHExZzzqCvtqgpGK2RDzkv5UOxkJ2p6MA6Zd3ow ErIiL6MHtKKFGVbrKviuIGXlbigah2nltb9fLkt4nO5M5eolvnNrl8GYEiD/KaQOW5KP tVmA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=SC4neS4M; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o1-v6si1617772plb.280.2018.02.28.10.31.11; Wed, 28 Feb 2018 10:31:26 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=SC4neS4M; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932673AbeB1S3b (ORCPT + 99 others); Wed, 28 Feb 2018 13:29:31 -0500 Received: from aserp2120.oracle.com ([141.146.126.78]:33158 "EHLO aserp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932329AbeB1S33 (ORCPT ); Wed, 28 Feb 2018 13:29:29 -0500 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w1SIQYIw138710; Wed, 28 Feb 2018 18:28:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : in-reply-to : references; s=corp-2017-10-26; bh=LpPXQBBTQ3lMwM4sTuCN8AlXrwBuQXb7ILt8nDLC4zM=; b=SC4neS4MKgYLdqbwc2vhsUzKabt0pt3DOLK3yg/oKOqRv8ZEDXtN4iXIOCyHOC8otMFq fwWrb9kMPgS/b8qExNG7OfS0Qk4kekuF8rYJI1+s1pBczx2fJHlDFfp1lNEqS0ly0Xvx OPQMF2SupxA6LTOAQ/nHcHrDw5rEKD+3ywro6sYun6liBYdNtxYGw8E3Cea9ScrYqonx WXBipCfGGpQS3d+7EAjb9c/3pTLOLeM+IUk/wvhBrM08Y78hsaMex4lFFYtk78VEEH4T l6Us57IztU3YX5OilHHxD57a+t7Im8iOhdbfKGeoeBkvxo1TziY3A6YhwRLYpdLcioOV NQ== Received: from aserv0021.oracle.com (aserv0021.oracle.com [141.146.126.233]) by aserp2120.oracle.com with ESMTP id 2gdyjqrtad-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 28 Feb 2018 18:28:43 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0021.oracle.com (8.14.4/8.14.4) with ESMTP id w1SIShw4018538 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 28 Feb 2018 18:28:43 GMT Received: from abhmp0007.oracle.com (abhmp0007.oracle.com [141.146.116.13]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w1SISg3w020657; Wed, 28 Feb 2018 18:28:42 GMT Received: from marawils-linux.us.oracle.com (/10.141.197.9) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 28 Feb 2018 10:28:41 -0800 From: Maran Wilson To: pbonzini@redhat.com, jgross@suse.com, boris.ostrovsky@oracle.com, roger.pau@citrix.com, andrew.cooper3@citrix.com, hch@infradead.org, JBeulich@suse.com, x86@kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, rkrcmar@redhat.com, jpoimboe@redhat.com, bp@suse.de, kirill.shutemov@linux.intel.com, thomas.lendacky@amd.com, luto@kernel.org, maran.wilson@oracle.com, dave.hansen@linux.intel.com, davem@davemloft.net, gregkh@linuxfoundation.org, mchehab@kernel.org, linus.walleij@linaro.org, rdunlap@infradead.org Subject: [RFC PATCH v4 1/7] xen/pvh: Split CONFIG_XEN_PVH into CONFIG_PVH and CONFIG_XEN_PVH Date: Wed, 28 Feb 2018 10:27:57 -0800 Message-Id: <1519842483-8887-2-git-send-email-maran.wilson@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1519842483-8887-1-git-send-email-maran.wilson@oracle.com> References: <1519842483-8887-1-git-send-email-maran.wilson@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8818 signatures=668682 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=991 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1802280224 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to pave the way for hypervisors other then Xen to use the PVH entry point for VMs, we need to factor the PVH entry code into Xen specific and hypervisor agnostic components. The first step in doing that, is to create a new config option for PVH entry that can be enabled independently from CONFIG_XEN. Signed-off-by: Maran Wilson --- arch/x86/Kconfig | 8 ++++++++ arch/x86/kernel/head_64.S | 4 ++-- arch/x86/xen/Kconfig | 3 ++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index eb7f43f23521..fa7cd0305125 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -791,6 +791,14 @@ config KVM_GUEST underlying device model, the host provides the guest with timing infrastructure such as time of day, and system time +config PVH + bool "Support for running PVH guests" + depends on KVM_GUEST || XEN + def_bool n + ---help--- + This option enables the PVH entry point for guest virtual machines + as specified in the x86/HVM direct boot ABI. + config KVM_DEBUG_FS bool "Enable debug information for KVM Guests in debugfs" depends on KVM_GUEST && DEBUG_FS diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index 0f545b3cf926..fc9f678c6413 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S @@ -41,7 +41,7 @@ #define pud_index(x) (((x) >> PUD_SHIFT) & (PTRS_PER_PUD-1)) -#if defined(CONFIG_XEN_PV) || defined(CONFIG_XEN_PVH) +#if defined(CONFIG_XEN_PV) || defined(CONFIG_PVH) PGD_PAGE_OFFSET = pgd_index(__PAGE_OFFSET_BASE) PGD_START_KERNEL = pgd_index(__START_KERNEL_map) #endif @@ -387,7 +387,7 @@ NEXT_PAGE(early_dynamic_pgts) .data -#if defined(CONFIG_XEN_PV) || defined(CONFIG_XEN_PVH) +#if defined(CONFIG_XEN_PV) || defined(CONFIG_PVH) NEXT_PGD_PAGE(init_top_pgt) .quad level3_ident_pgt - __START_KERNEL_map + _KERNPG_TABLE_NOENC .org init_top_pgt + PGD_PAGE_OFFSET*8, 0 diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig index f605825a04ab..021c8591c3c0 100644 --- a/arch/x86/xen/Kconfig +++ b/arch/x86/xen/Kconfig @@ -77,8 +77,9 @@ config XEN_DEBUG_FS Enabling this option may incur a significant performance overhead. config XEN_PVH - bool "Support for running as a PVH guest" + bool "Support for running as a Xen PVH guest" depends on XEN && XEN_PVHVM && ACPI # Pre-built page tables are not ready to handle 5-level paging. depends on !X86_5LEVEL + select PVH def_bool n -- 2.16.1