From nobody Mon Feb 9 19:54:25 2026 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=oracle.com ARC-Seal: i=1; a=rsa-sha256; t=1562034019; cv=none; d=zoho.com; s=zohoarc; b=Ys6F9JU4Fw2U7oTcUoEKulVzG11kS/gxzw1GdvmxOnknWs0AvdClu4BojBJX/4vF3DJ5raFDbVGRmy1QnyiQPRwrxfho9+wOrqcl/BhAZlnkk1fgdvalno0Wc32jzwNzUujH1Hwk8hh+GPw/GsrkhKXLA6t2NMBJeoXlIRDnvFE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1562034019; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=RPfqD7hlfIKCAfPeOyg3mfLn/GFXz9wcbuD3Q7FZ/oE=; b=oA3/cdy+ewViNI30CmtWg5ceeb+EPOWynASzX3bz0LirFTLuUWQ4Bz7bH8z9+DDU4D7/+AMTubpEJiDcElni7pkwP1JsZFT6HIxVYdFCNSBUQ/89Y1x6ZYPwR6nKvde303TDhZMpAyAMHbGoNGpdt2OqxRWLn37P8I5cSMSJ5nE= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=none (zoho.com: 192.237.175.120 is neither permitted nor denied by domain of lists.xenproject.org) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1562034019738360.3077332115814; Mon, 1 Jul 2019 19:20:19 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hi8O9-0003B0-74; Tue, 02 Jul 2019 02:19:21 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hi8O7-0003Aa-8j for xen-devel@lists.xenproject.org; Tue, 02 Jul 2019 02:19:19 +0000 Received: from aserp2120.oracle.com (unknown [141.146.126.78]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id c900239e-9c6f-11e9-ad17-67c99edb81a8; Tue, 02 Jul 2019 02:19:14 +0000 (UTC) Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x622IuNJ108174; Tue, 2 Jul 2019 02:19:03 GMT Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 2te5tbgq5t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 02 Jul 2019 02:19:03 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id x622CTMl123668; Tue, 2 Jul 2019 02:17:02 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 2tebku0886-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 02 Jul 2019 02:17:02 +0000 Received: from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id x622H1Ne028602; Tue, 2 Jul 2019 02:17:01 GMT Received: from z2.cn.oracle.com (/10.182.69.87) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 01 Jul 2019 19:17:01 -0700 X-Inumbo-ID: c900239e-9c6f-11e9-ad17-67c99edb81a8 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-2018-07-02; bh=PSXRRg+VqoghiPb6E2wfzVIl4GDaBdiY849ddx84T70=; b=D0Nh/qH7UFDDUkkw9JQM9H4ujFTZibgPEHu0CumMwxvwXhp2OjB/WL5pHj9RuRNEIygO VAebqgtrBKU7riVuMhiBPkJh3syjb/stlqc6qQe/z1TjRfVdjO+Dx0Ke/mPZMTb4vUnu NpeoEa9gNJHt/s0iVZL7twzERO8SsuKaia0DUWAviKxQPUW5s0ojTnrpRPKd1WV6s/BD jqJ1C7NaS5C5lIpObBUlVbUPru70XVXz5RODyKpSVUtcbLihK7bDq7QcMITcICCXnuDM gefbLLyVYMuceEoV6FOHyJRMuON7spbyN9Zr1o0XJ2ze6v6Td/M+j5j1hFVoQpmByl/k dw== From: Zhenzhong Duan To: linux-kernel@vger.kernel.org Date: Mon, 1 Jul 2019 10:20:28 +0800 Message-Id: <1561947628-1147-5-git-send-email-zhenzhong.duan@oracle.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1561947628-1147-1-git-send-email-zhenzhong.duan@oracle.com> References: <1561947628-1147-1-git-send-email-zhenzhong.duan@oracle.com> X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9305 signatures=668688 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=1 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-1810050000 definitions=main-1907020020 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9305 signatures=668688 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1907020022 Subject: [Xen-devel] [PATCH v3 4/4] x86/xen: Add 'nopv' support for HVM guest X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: jgross@suse.com, sstabellini@kernel.org, Zhenzhong Duan , mingo@redhat.com, bp@alien8.de, boris.ostrovsky@oracle.co, xen-devel@lists.xenproject.org, tglx@linutronix.de, Boris Ostrovsky MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) PVH guest needs PV extentions to work, so 'nopv' parameter should be ignored for PVH but not for HVM guest. If PVH guest boots up via the Xen-PVH boot entry, xen_pvh is set early, we know it's PVH guest and ignore 'nopv' parameter directly. If PVH guest boots up via the normal boot entry same as HVM guest, it's hard to distinguish PVH and HVM guest at that time. To handle that case, add a new function xen_hvm_nopv_guest_late_init() to detect PVH at a late time and panic itself if 'nopv' enabled for a PVH guest. Signed-off-by: Zhenzhong Duan Cc: Boris Ostrovsky Cc: Juergen Gross Cc: Stefano Stabellini Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov --- arch/x86/xen/enlighten_hvm.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c index 7fcb4ea..340dff8 100644 --- a/arch/x86/xen/enlighten_hvm.c +++ b/arch/x86/xen/enlighten_hvm.c @@ -25,6 +25,7 @@ #include "mmu.h" #include "smp.h" =20 +extern bool nopv; static unsigned long shared_info_pfn; =20 void xen_hvm_init_shared_info(void) @@ -221,11 +222,36 @@ bool __init xen_hvm_need_lapic(void) return true; } =20 +static __init void xen_hvm_nopv_guest_late_init(void) +{ +#ifdef CONFIG_XEN_PVH + if (x86_platform.legacy.rtc || !x86_platform.legacy.no_vga) + return; + + /* PVH detected. */ + xen_pvh =3D true; + + panic("nopv parameter isn't supported in PVH guest."); +#endif +} + + static uint32_t __init xen_platform_hvm(void) { if (xen_pv_domain()) return 0; =20 + if (xen_pvh_domain() && nopv) { + /* Guest booting via the Xen-PVH boot entry goes here */ + pr_info("nopv parameter is ignored in PVH guest\n"); + } else if (nopv) { + /* + * Guest booting via normal boot entry (like via grub2) goes + * here. + */ + x86_init.hyper.guest_late_init =3D xen_hvm_nopv_guest_late_init; + return 0; + } return xen_cpuid_base(); } =20 @@ -258,4 +284,5 @@ static __init void xen_hvm_guest_late_init(void) .init.init_mem_mapping =3D xen_hvm_init_mem_mapping, .init.guest_late_init =3D xen_hvm_guest_late_init, .runtime.pin_vcpu =3D xen_pin_vcpu, + .ignore_nopv =3D true, }; --=20 1.8.3.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel