Received: by 10.213.65.68 with SMTP id h4csp673434imn; Tue, 20 Mar 2018 12:22:28 -0700 (PDT) X-Google-Smtp-Source: AG47ELvUHZtbmJRhPL8F/U/sgq3NoR7eREQBjoQ8ep3W4c1Gpc5wryctUzB6+QEuuIn2oLDUqdxi X-Received: by 2002:a17:902:b582:: with SMTP id a2-v6mr18075340pls.353.1521573748439; Tue, 20 Mar 2018 12:22:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521573748; cv=none; d=google.com; s=arc-20160816; b=svVzFQ7ziJkNKF4FZt1/hbr+0Q90gCrg6pYruXoheRhTAAcO4lDMMlYw3XBVt+jMxs CT1Tu8rhHYuAj/GZH38if9dFM36fmsLf/rwSSWcmAGLb7p9UZFaj+8wBmQYDn2acJirX jvgnKwPaZ3imp3fQputyHv+5B9KaCwt+xu9CMTKCc7qmqd/cvOZitqXJNTjGlZ6hgSVL Z9uQOfsm24Dstc9/cuU5EnUMdsArnCMXjQ+7N9VnUnDLPkHlZvEkG6PEql/cbH6nVgvh Q3I2lOZmQTq1t5+Lze7Fv71ZwR4MMkzl6Cc5aVgMYMELza2T6421twnNC8LhQn6XEgvR zpwA== 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=KhLdqYV9XvEyMz62m9xFtaAhbHS5GgAZELMyKBWx3v0=; b=Pi9sjrfX+rWl33x0OLzu9y6cPaNEzCJEa6a9YY5L/Bg1JDycOsS+Y4dVboS5902Z8e YwgvMHqRs6degsP4fVij4BHTYP/QlYEz7kegWCKtP+WZ/uBhSM/g225EoQ8zsQIehdAH 5zqbfu2pZfFwGxmOQ2U7rbwG5aJ4f9zg79jxNF1K2gRIXdJyNTngLxvhebEcB7bPZzeG EKmAbxv/70aMYYgfK4g9cvbZkmtMemRLmpExDWMkl9clSgoRX9buX7PLWFVU5eK0uk7m pKcxAc2quAW5qlzaGjjC/W2j7Pt2ygFJxQIbzz6LblkhVhYrDrQCqwPzHebg2k4hoDz6 3gmQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=eda52yxE; 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 t61-v6si2210090plb.195.2018.03.20.12.22.14; Tue, 20 Mar 2018 12:22:28 -0700 (PDT) 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=eda52yxE; 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 S1751719AbeCTTUD (ORCPT + 99 others); Tue, 20 Mar 2018 15:20:03 -0400 Received: from userp2130.oracle.com ([156.151.31.86]:58850 "EHLO userp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751677AbeCTTT6 (ORCPT ); Tue, 20 Mar 2018 15:19:58 -0400 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w2KIwTh5037259; Tue, 20 Mar 2018 19:18:30 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=KhLdqYV9XvEyMz62m9xFtaAhbHS5GgAZELMyKBWx3v0=; b=eda52yxEeEp2tguXNmDjGCFAeZLutma1SKvpvXPz2397hJV5f1xkSHJCb1sCjyAS7pHB RKTOwKJL1ch7Li3ASznwYmv6c2eA09MkvRLYbP/cPpDkUKK/rtcsQNSUsLXUJfPztM0l PfLcGuR7MmoF11ruonqgQbbn42+Oj+K7bV+xykFN7/FiXDlBkSDlo7gSTDnRry/SgBVX qQuNILsWRIN5x3fUU/yyTo3JSiToMdVHznBwHEC/T3ULxtjwUuUoqDGnenlbYF1UbU+N e4FsOgTYWWOz+Jqz7zuKoQbIbcp0226L0JBYVxUmqPOSjkWVQiuntOgrlxVI6SBpUoFh vA== Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2130.oracle.com with ESMTP id 2gu824r3hu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 20 Mar 2018 19:18:30 +0000 Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w2KJIUcQ006866 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 20 Mar 2018 19:18:30 GMT Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w2KJITjE026667; Tue, 20 Mar 2018 19:18:29 GMT Received: from marawils-linux.us.oracle.com (/10.141.197.9) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 20 Mar 2018 12:18:29 -0700 From: Maran Wilson To: x86@kernel.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org, pbonzini@redhat.com, jgross@suse.com Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, boris.ostrovsky@oracle.com, jpoimboe@redhat.com, kirill.shutemov@linux.intel.com, bp@suse.de, thomas.lendacky@amd.com, luto@kernel.org, dave.hansen@linux.intel.com, roger.pau@citrix.com, rkrcmar@redhat.com, maran.wilson@oracle.com Subject: [PATCH v5 1/7] xen/pvh: Split CONFIG_XEN_PVH into CONFIG_PVH and CONFIG_XEN_PVH Date: Tue, 20 Mar 2018 12:18:06 -0700 Message-Id: <1521573486-17304-1-git-send-email-maran.wilson@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1521573369-17216-1-git-send-email-maran.wilson@oracle.com> References: <1521573369-17216-1-git-send-email-maran.wilson@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8838 signatures=668695 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1803200127 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 | 7 +++++++ arch/x86/kernel/head_64.S | 4 ++-- arch/x86/xen/Kconfig | 3 ++- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index eb7f43f23521..58831320b5d2 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -791,6 +791,13 @@ 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" + 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