From nobody Tue Apr 30 04:44:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1630571556; cv=pass; d=zohomail.com; s=zohoarc; b=RAXfkhnllhsfM4+IkCE2+WKC9ISKmpgIIBwEq5EpnJ5agWUg3CHavc5Wz4Or1pBWLrjdnHJRQdjyOHFQYRmZVrjXv9/ztwxnBUxfKTANwETFOC+DMKm13+EZ6mpk+A3/eREZ78lBXmaXhJz5FXBY/gzSl3QtZJJkvLR9tZZNLwU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630571556; 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; bh=FuErrn7dPOKk18p14Eqqw0Ug5qQHJVZRhPNfvjkAXCc=; b=Q6tBJtM4dyyCMmJxw6cLzXMCdkBDeot+IPq6yiVM/i8b89zfu3zZsjN8hqEMec7ENG4prEQtqTlwcQM3A3f5H6RFk/6TZhGpr1JcYSO7rw9ZBXm90U6NelbVEYm8uzWEs34EeGFY+dNWptEnmmWg4PbmeQkng1UjTd7QU71mFPE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1630571556403359.4814503426603; Thu, 2 Sep 2021 01:32:36 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.177138.322373 (Exim 4.92) (envelope-from ) id 1mLi8y-0007OC-8K; Thu, 02 Sep 2021 08:32:20 +0000 Received: by outflank-mailman (output) from mailman id 177138.322373; Thu, 02 Sep 2021 08:32:20 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLi8y-0007O5-5F; Thu, 02 Sep 2021 08:32:20 +0000 Received: by outflank-mailman (input) for mailman id 177138; Thu, 02 Sep 2021 08:32:19 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLi8x-0007Nz-MB for xen-devel@lists.xenproject.org; Thu, 02 Sep 2021 08:32:19 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id b54a0351-d668-400f-9754-8cb4883e52f5; Thu, 02 Sep 2021 08:32:18 +0000 (UTC) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-16-8rI5qsy5Ot-aOx5yvDc6Lg-1; Thu, 02 Sep 2021 10:32:16 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4189.eurprd04.prod.outlook.com (2603:10a6:803:3d::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19; Thu, 2 Sep 2021 08:32:12 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.021; Thu, 2 Sep 2021 08:32:12 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0084.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend Transport; Thu, 2 Sep 2021 08:32:12 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: b54a0351-d668-400f-9754-8cb4883e52f5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1630571537; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FuErrn7dPOKk18p14Eqqw0Ug5qQHJVZRhPNfvjkAXCc=; b=L94RNv+6FlEjlgqvSwvSNstDsWDSyMyRbG69/F/2G3hwkGiz7CL6wz4XOAQFJtexf0gLSI JMjLtEE9DrYwRRD9aKcwT+yig234ilgbDK05hmv4kKHIS6bWn9nG0EKBLRwa9Ux82KylSp 892ol2c0NK2OfCKXuICW8QIFODNWZn4= X-MC-Unique: 8rI5qsy5Ot-aOx5yvDc6Lg-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=esop9D2vOOSfKjxkqZ2QTy/dXVlj+3dCmsXtOrdkgM9Xd04dHZP1kfcLV5luhYvDUSA5pF8SG+oBfVk/uAmFTICChATsNPEZKNpCCALNnzQYiGYIOyWeMAYGoWFE77PGivScaWBk2vEil2SkqeE/wKZh+7T732+gtWPwfT/zkQwWVmxAP/CYHtsN/br42smHMGCieMO85HTfiReerk8mqA0rDKxSpDeO0khv8QJC0OcUk6K4gJtr+iQboeXhNsRb4ua2vggiPVpcmnx4vMnkw1CwRGbuQy+Mf1kWvp9r5Nvbp8Orom/+IDXPWSg3I5ySyqza17cEG5VAW3EQxqFlDw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=FuErrn7dPOKk18p14Eqqw0Ug5qQHJVZRhPNfvjkAXCc=; b=QqHhhd6RNunR/gm9IEcERf6hsRrZ91u49seIlwSyduy/tgvlyY9L98qBJVFOaKS2JIEkvEVJiHfmWBnqArM4yK+Er4Ub9eTn/0mjgKStW7AHEhberdHR3XraM6cmUPuPDDY5LA60qLszeodZqMhtpmwxNc3jxslCrWbMBOcthES5KwTbsp0FasEx46tvfPRR98w98OITl+F8utSupwpVPSU0F16swNPILpDJANAg4OWbzi3nyGUDGTmnTRj6f/4DYl/OHhXBaZ9cX9F8MEePiYiaDxRbw7anKMMu+X2BXdGq2b+RyJpR65p9rzVg551Kinho6UJrzSn8V71iiDGL6w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH v2 1/6] x86/P2M: relax guarding of MMIO entries From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Message-ID: <9ab471d8-877c-b569-96c3-c3145800adcf@suse.com> Date: Thu, 2 Sep 2021 10:32:10 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 In-Reply-To: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PR0P264CA0084.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::24) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 45c4cfa0-5137-4660-cee9-08d96dec296a X-MS-TrafficTypeDiagnostic: VI1PR04MB4189: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:5516; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SkzESaDIGIt8nj7pKgXEjA05Kg+86BAjcW2RYiEawFWSTTDVrX/jSD9X1x1ktOkTveqImF2eOieqMJ4Bpu413IdjI6y6vsMGfAah7BnHMXSlIkV/Zemr1f776d1Pcy5SyD2/plKhIwOnMRL75DUCuuu9cE54ce3NS0swsnmy3BxYnRNHXTdbeneu0LgdF3v6EoivRCJptvWjY39wPmfHwRLdR23vn8y7opqLYe5m+vLCC/HFM6yy0Tl6Hatl4o6mgM//ObQNO4PgnujK+03/wqmCWsn7iGP99ETPASC2mBhLCUNvmA8tFsciRjJIXhxBalfwGLmVzF/x1u2OPnTw9KTxXe/M2vsqwtjH0tkN+JCn/1USL/Sxr8TRB+eZy7ZbCFkA8wcSPWdTQUvrMu4VLHQBoPQjkR/13KihYCxe3FYhp9fkdwRdhRM+PfEHdWtZH+Tylr9ydY4qvaxx0iUrSs6T7H94/SMfpQb9a8qarLtN8l6nY29YUeTJrrRR2ipeT8YaBckvJiwTOKaTTfotM8rlvFhEFGsoREU/cSv5P/Rey9PYaxzfwpNV1EiBO9XA/VkGEeTv2W6G5MKNEExRFJvIGbszNtIvcMfR/4xIqNzoUBSpeL4xnpda7Xq+qHg4w5R9WqUuSk9WxsgCstxhoRqmTF5htOYXvzn7FwdcMcXuyY1MTda73NrLPgkO0UfO9cSHbrqaRDYk6Z9r3d6iJqRRdzBycGozfHux/Yggbvg= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(6916009)(2906002)(4326008)(508600001)(36756003)(5660300002)(31696002)(31686004)(8676002)(54906003)(38100700002)(956004)(86362001)(2616005)(6486002)(8936002)(66946007)(83380400001)(66556008)(66476007)(316002)(16576012)(186003)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cGJ1ZVNZSytLZ1VLSnFWdXM2WWxsbWdpcmNoZ2lRT3g3Nit5c2Y0V3FUTy9P?= =?utf-8?B?ZmtUNlR3NGhzK01wajE0c0tJWEt2MWp6WUhVb2pWVmswR3NQRllrb2pVVWpD?= =?utf-8?B?dFVoSXB1WXhkY083cHg5Z3FtMkg2SmFhVDJzeS9PN1ZkQ2VUSzYwRnlOTFQy?= =?utf-8?B?T2MwNGlHd09HS3djNG52enl5RjF4UkRYT0puYTFtRlN6enJxTFFnUjQ1eVB1?= =?utf-8?B?WVUrZVNsek52MXZ6ZFFYUm5aU3RsbG5QUnBVNzF2UlNJazNwRXdTQ2xyQ05O?= =?utf-8?B?YjUyZUZ3UFRSYVFQdG1lMXhJZWJtcDVZb2ZWQTMvZFhUYjQyODRnS0dmSmh4?= =?utf-8?B?b1ErcTdTOEVNMmNZeTZicjFpNFMwTERXZFdBZjBXekRqNi9Malo0cUxiQ3Vr?= =?utf-8?B?dXNBT2pDbFJIa3VXbmpHN1lIaFRkQlplZjNEaTFMZDQ5NUJVNXA3aWpQMFhp?= =?utf-8?B?Vk11dEh3UVVJbHRJdmJId1JjSVBpdFFwSXU1OEk1WGMrOG1zOW1aZC9pOUhh?= =?utf-8?B?ZXJVRjBFT2RsUWdzY1pSbzRoUHh6RHQ4YVQxRVo5UngvWUxSWmFubEg0TXRW?= =?utf-8?B?TU9acWg2cDRFejVUMTBqV3VPOHUwSHZaOW4wcThRNUp4SFY5ZG9hNUdCWkF0?= =?utf-8?B?MEt4SzNtaVc0ZHpiYXJERGRaQTlSTXk2RlVHcFFabGYwL29XaUpXSmlqa3NC?= =?utf-8?B?OE5TanZNSEdFRUhUenFBRjZkNmJ2UUdNaWQrWXpldjRJbVc2REk2VDBCdW0x?= =?utf-8?B?RzZPYUR0RDhmRGR2b0l2MzFVTHNzT3lVQ2lwWFRnU3JTbUtzT00xNGVZbTd6?= =?utf-8?B?Z21KZTd1VUo4UFA2WVN3ZGpnS1FvTXVzKzQ0YURNT0ZVUFA5Y3pDRWl6ak9R?= =?utf-8?B?OC9pOUdzdE8xTHpiZGRHYXBqT0ZWZ1kvU0dsUzlOV3dwcnNtNU90ZUZOZTdR?= =?utf-8?B?Q2F5TnV4cncwOFU1dlp0V1pRbGkyYlNCbW1HWkNNNDcvT2lZQWtYNUo2dDNt?= =?utf-8?B?UEhJREdaQUJINjBiZkFHei9MOHU5dmhkVFBUWXBCbXBVTU5kcU1GdU92Q0NB?= =?utf-8?B?eE5aNXFnZmhRNElpQTRqazR5dE9xSEc0TEdzdy9sQ1VCeVdNZk5KTzdKWjZx?= =?utf-8?B?VnB1a1EwajMyd1dIRWtQRWl4ajk1VmwzQ0ZZOFlnKy9IblpBU3FscnVDTHZt?= =?utf-8?B?dkxFY0VNZlRuOWJwaWdUTWFoUzB6S3VEMkV6eXN0RDdSOTJJVENua1p3NFBB?= =?utf-8?B?VUdaVnJDZ1h2bmpKVERuZHRObVdNeCtxZzF3QU1iU2lRZHdJQmdJNTAzempj?= =?utf-8?B?UnBwcGlwdFVXbWtNbytqTm41ZU90UFpjYkFxUkJLb3NKQnhmNmxCYUdYODJr?= =?utf-8?B?Q0JmVnBtTUJkdXN1SDVlcXljVXBSaExRNENqWVI3QThFQmRPVUJmNG9iZ0Rp?= =?utf-8?B?eDhlZVBHaEtuS21JbDIrTHAySjFOSU1jOHVQc2hOcGpPT2I2RW5mdDJWUVRB?= =?utf-8?B?dXpiQkJRdmd6UitxM2s0QmFib0VHanBoZGs5bTQ0Z1VlZTNyeUlZeWFOSzhw?= =?utf-8?B?T25sMXB2SEdJRU9pMkc5MEhxU1JCNDRkY2hrMW5XSitrSHozaXBLdENkOWZV?= =?utf-8?B?cWVmcVlWaGEwWjBweThOOXo0dlNrbVNPVzdaeVdyZ05iZlpPMmxZSERuLzQ2?= =?utf-8?B?ZWVMaE92eGorblVJMzZTNHA5eUFScXNXMDc4NnBiRkpTR3Nsd3c0R2tnR3VB?= =?utf-8?Q?LOoB/m6LOyENjS5F6O1LWLoKb5oy6g5nVMc+Mrh?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45c4cfa0-5137-4660-cee9-08d96dec296a X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2021 08:32:12.5660 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iE6TS2myTByzrqwPsYAy2o/vaqD1rHTAnFsHPyhCBGF25NAY+v5+1iD6JG/zBJizAnixdGooglWxiGFbxHTLvg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4189 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1630571557342100001 Content-Type: text/plain; charset="utf-8" One of the changes comprising the fixes for XSA-378 disallows replacing MMIO mappings by code paths not intended for this purpose. At least in the case of PVH Dom0 hitting an RMRR covered by an E820 ACPI region, this is too strict. Generally short-circuit requests establishing the same kind of mapping that's already in place, while otherwise adjusting permissions without - as before - allowing MFN or type to change. While there, also add a log message to the other domain_crash() invocation that did prevent PVH Dom0 from coming up after the XSA-378 changes. Fixes: 753cb68e6530 ("x86/p2m: guard (in particular) identity mapping entri= es") Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- I may have gone too far by allowing "access" to change for all special types now. --- v2: Format string and comment adjustments. Split off access accumulation. --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -958,9 +958,13 @@ guest_physmap_add_entry(struct domain *d if ( p2m_is_special(ot) ) { /* Don't permit unmapping grant/foreign/direct-MMIO this way. = */ - domain_crash(d); p2m_unlock(p2m); - =20 + printk(XENLOG_G_ERR + "%pd: GFN %#lx (%#lx,%u,%u) -> (%#lx,%u,%u) not permitt= ed\n", + d, gfn_x(gfn) + i, + mfn_x(omfn), ot, a, + mfn_x(mfn) + i, t, p2m->default_access); + domain_crash(d); return -EPERM; } else if ( p2m_is_ram(ot) && !p2m_is_paged(ot) ) @@ -1302,9 +1306,24 @@ static int set_typed_p2m_entry(struct do } if ( p2m_is_special(ot) ) { - gfn_unlock(p2m, gfn, order); - domain_crash(d); - return -EPERM; + /* Special-case (almost) identical mappings. */ + if ( !mfn_eq(mfn, omfn) || gfn_p2mt !=3D ot ) + { + gfn_unlock(p2m, gfn, order); + printk(XENLOG_G_ERR + "%pd: GFN %#lx (%#lx,%u,%u,%u) -> (%#lx,%u,%u,%u) not p= ermitted\n", + d, gfn_l, + mfn_x(omfn), cur_order, ot, a, + mfn_x(mfn), order, gfn_p2mt, access); + domain_crash(d); + return -EPERM; + } + + if ( access =3D=3D a ) + { + gfn_unlock(p2m, gfn, order); + return 0; + } } else if ( p2m_is_ram(ot) ) { From nobody Tue Apr 30 04:44:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1630571610; cv=pass; d=zohomail.com; s=zohoarc; b=Q87fiu46urFzJgsXrX05yY6ogwp3Rzr4Th+1Y68yAyfQvw6duHeDN0c/I4MnDlhLvlzwHuJilZ6AM5IZL6wvpz0vR5+YoKtNOXEkLxCLpsUd1TPeUTfsb0lLu2N2gweIX8FhsdbetviGREbEDW3kAVWr8PFcCz02H+P5sEARBds= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630571610; 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; bh=QGrOOS+VJ3eASvPOqSojyeVdMYBWoCT8pMRR8J+S6bQ=; b=oKrzGY/cHzA5+JDistXcIa3bPBEB31EQYbGYX3KyplWehY8aSW+onMz8PamUvxxAvNsKprdAcFPZmiroYSaQqDI52L/u246l5pN0HpLRT36vh9MX33RsPIuALNa/bJT45J0Z3hUc9F6OOw/OiVIz9guLtEsQwjYSONQVhUeN0XE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1630571610204438.48349905814473; Thu, 2 Sep 2021 01:33:30 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.177145.322385 (Exim 4.92) (envelope-from ) id 1mLi9n-00082X-N9; Thu, 02 Sep 2021 08:33:11 +0000 Received: by outflank-mailman (output) from mailman id 177145.322385; Thu, 02 Sep 2021 08:33:11 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLi9n-00082Q-Jn; Thu, 02 Sep 2021 08:33:11 +0000 Received: by outflank-mailman (input) for mailman id 177145; Thu, 02 Sep 2021 08:33:10 +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.92) (envelope-from ) id 1mLi9m-00082K-JB for xen-devel@lists.xenproject.org; Thu, 02 Sep 2021 08:33:10 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 66e249ba-0bc8-11ec-ae46-12813bfff9fa; Thu, 02 Sep 2021 08:33:09 +0000 (UTC) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05lp2109.outbound.protection.outlook.com [104.47.17.109]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-28-HQDKnutlP9Km-SFC1oMmNw-1; Thu, 02 Sep 2021 10:33:07 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB6862.eurprd04.prod.outlook.com (2603:10a6:803:130::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.24; Thu, 2 Sep 2021 08:33:06 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.021; Thu, 2 Sep 2021 08:33:06 +0000 Received: from [10.156.60.236] (37.24.206.209) by PR0P264CA0075.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend Transport; Thu, 2 Sep 2021 08:33:05 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 66e249ba-0bc8-11ec-ae46-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1630571588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QGrOOS+VJ3eASvPOqSojyeVdMYBWoCT8pMRR8J+S6bQ=; b=SVBPpEgrtnX1KUYJqZY2JwSJUnF4mUAbNzM6nsOt0d10pmYgHKRTm35RIenERIk9HMpP9j a98zUH/+5ZzqVrrmJHY9/Zs+EAzyyseFYEW0IM5986p2xlJms1kZTU0YmlWy+osVq2AuBy D2A13sM7On93SO9yyCkTD+Jhwheg3qg= X-MC-Unique: HQDKnutlP9Km-SFC1oMmNw-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Rh+lzgizB+Oaq/xwxm81ndeEY5ORQ+As9I0bSFEGtmWiwqTD7aW04BhDWaDWCaEm6Vsm7DvzaKDWtJEXBKfWn8tG8PP6MJobsDPyvZ+oi5idAarrhvsb0YXL47BIsVDvJSjp7H0nOpuvWP7yc4k2IsjCrxLS4icROuBzBtdFzNKjQmkw7xOJwExf2M25ruCDpQZEZ5iQSH7b6HOq/O9rKowuy6r7Kt5ui61Is1GIRgF4WGd6wz0eoP2XlPw9Z7PwDjxhUUVfsLtkDazVD0PLuasQ1zwj7EjbM2gOijfR6rtQkSSAYQr7VB6Ii/BP/gJxi0wFD6C8TrUuTT1b2eQsLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QGrOOS+VJ3eASvPOqSojyeVdMYBWoCT8pMRR8J+S6bQ=; b=UVGP2pIZ9hKKbLUDr8rzSB9KEcyrOzfHAHCDn1SbpjIX/hhqQ6rw5sz6Tfkq7umAVGlUkXXryl0NgCFWFfkwCD5RA1xCciaPGNgmJlhLyalDZ/jSgnsi6DEA9SmH/mqkNZHj7AijtHgA0to8DyO+WssVG7f7NWN+TYIWB+nT8DSqHMmyEoRGpOG2z+03c1UpyKzLJr2uTBbehqHovGTul+mMvGDd+kdbc4sRe8RhZv0hh6YrCoA9OvOM02LhdoXE1CLzbE6eEdtOzo562DLh7y17nwCD/cS+JhNhCnhIT3ro/wOiOy9hbv84PKl2lI1B8RuFbQ7qWR5BM4JAEagrKA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH v2 2/6] x86/P2M: relax permissions of PVH Dom0's MMIO entries From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , George Dunlap References: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Message-ID: <457637e2-d35c-18d0-ead8-0b513b257927@suse.com> Date: Thu, 2 Sep 2021 10:33:04 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 In-Reply-To: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PR0P264CA0075.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:18::15) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e20ac382-f2fa-4d49-97f6-08d96dec4958 X-MS-TrafficTypeDiagnostic: VI1PR04MB6862: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lFdn9aPOLdawBoXCVdE4Nz9eCCGK+Q5syenMA6zgtSACw4CgOMZ/YufsaCugC9GOgE2yxUHiwvmrRLjJIpk7SrJfRxEjeDYuMize4YXW3cr7buL3Iop6z5OORouZtj5vN5SDgzMpvhwdkM1cFhXAkVdp3a5yF9OZfAQYkwk5Iy/PKjsdbKxq3Vz/kDgaJftsgdaGFfbQvaUAOPMqGXFGijiYa7CYxqmEANfMq+IxiC88ZIya9tVp4RsXDLL/XDUwG23NcBJXFXssQJAxZ9AynQnv1MZJ5tmDG5zMW0s0qEIKZHWnn8E2N1sjBTIozZ0cYeJjXmEzTVAtDruTVXhnnesUSpbpwNHm7SFXt2dAzd8EirLE+wvdWQH42Sr5FpPzUTrEU+btt2GhXMC7nXekxP7f1SlfLK21nlsPzLtphBTjzxaaZaIeAhFQ1sAIdGUnI8A/Duh2rhzKscRjSms9IGsNOM9Tb+EUwbQpCKSvllI/18ZYSzikFa1w+VuVfgtH6hWalvV/heF34sZVoDaFYsuCwcPzNh35vsOlqDyFfVk2ZDe/+yLoHI4J2fyGYp6QcU+9poP6zFLQlWLhpGAH0pMjXPXLApdgmSXM49WjFZcYxdeAfzq/oGr5yiW1MvcEjxOLYNUXBLAqRebxyuc7pV8Zs86Q4YRrhCla4j07UdHckR6+sWpQ9mXZ/wFqWa9aNmVX4GMdlXPkRkxOmdC5kuR9q6z97KYTyw1GTqOhcJc= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(376002)(39860400002)(366004)(396003)(346002)(2906002)(8676002)(5660300002)(2616005)(83380400001)(8936002)(478600001)(54906003)(316002)(36756003)(16576012)(38100700002)(956004)(31696002)(66946007)(186003)(31686004)(66556008)(6916009)(66476007)(4326008)(6486002)(26005)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bVZmZGxYOVBhZUpKZ00zbDhpS0dTakNNbjNYL3hXdis0T3BZZDhnWEhXN01w?= =?utf-8?B?aVIxS25pbGdLUlFyTHdieEhkSDlvcHBjV3JyVmdQQXh2ZVQvVGdOTDV2V3hI?= =?utf-8?B?Sy9zTmpDbjRBbEVIdVVRc1QrUGlWU1k5c2huQnFucWt0S2xKS1ZPbmZEM0Uv?= =?utf-8?B?cmpoSlgyNUJwV1RMaHcxL0RYV0ViOHNuT0NHR0IzUHZpUUZLZ21HOWQwTjVl?= =?utf-8?B?ZWtCRWRZZnkva3J0M1Q1Y1lqMmw4eW05WHBUckZwdHU5VklISUMxcFhEeWRr?= =?utf-8?B?dXFwWkZGUDFyUDM1Z2VkeVE1a1NMdVNHNW8vWWhFTncwcTdFN3FoQndjUk5l?= =?utf-8?B?V2UyMVAyMnVGZnp5Y3NkaFBIeFhGTFdCRXV6SjRKWHNhOU14VVBiR3dHc3ZQ?= =?utf-8?B?TVJRWXdtWlgxVVdCSUZ5NmJTdnFKMHErK2lZbjZLSGthN3ZIQStWZi9kcDBQ?= =?utf-8?B?NlBuZVVaaTBwSHRHVWdMVXI4dGVzelA1OEhuazE3bkM3TXhwNi9YK2JHK3dU?= =?utf-8?B?enFhNWNaS0F0eGhFUUw4VmJnWmR1YXZmYXpEY3NLTTRPY1BvRGs4S0ZSN3hP?= =?utf-8?B?V0dVV0ozTVZ3c0R6eEVnRG55WitiZFZZV2xRMnVZVWo2V2R2L0kwTXl4SEtz?= =?utf-8?B?ZVVFT0E0VXhUemp1UWQ4NjgyVFo4NW1RQkR2QUkrb2FGVUVsRWJnWGVZVDFH?= =?utf-8?B?dm1DWG9xa1B4akpUVTlIREJCN2FhVjZib29mM09jK09NcFFobmtXTm9zZnJ3?= =?utf-8?B?TllaTm5TdWFSY1o5aUdNckpPdnZBalFGa2xENnZaa1l5QzQyQjFqVEVhbTBP?= =?utf-8?B?SzlwblM3ZFQ1aWNLMDNVa1ArUWFTaTZCQ29qYS9JU01UTjVmN1pxd0s1YkJy?= =?utf-8?B?Qk5HaEtCWkhQb1F2ZkRJNWU0K2h4Z1NwcllJcWxMaUg3NHpURGZIUWp0RE54?= =?utf-8?B?WDBLalQ1QTlCcnJOMld6SFBDNzN0QVpxVVhKczI0YWxwdWo5Q0tyV2JwWElp?= =?utf-8?B?UnRhS2MxODVNUGk5M0NGUjV3MEVRVGFDdGlwY1NwQ2lnWFJkZWg1MEQ4QzVM?= =?utf-8?B?aWpENGF3MmpoVERLaGdidndMTCtsNlhGa1F0OEFaUWtFb2lJcy83aTZkakl1?= =?utf-8?B?ZHd5elp3UGhHZXIxMVlZaWhXTjNsWmxia3VIZkN3b01SbTN2V1p3Z2tuWkFp?= =?utf-8?B?eXlrSC9uZTdwVFZVU2g4WjREL3lQclZwWkd2NElCbUphMDIvUUh4TTE4OXl3?= =?utf-8?B?YTRwb05pS2t2WGRGcENZQ0tQaUdTU2hOeUVDVUlqZWFrMENvWkdsTUIvdGxi?= =?utf-8?B?d2xTcEZ6NVRnOU5Pakt1U1k0ZGF6Tkp0ZmpJMHYzQzJYNGhyVGxzWXZDeExs?= =?utf-8?B?V2JscGtja2k5YzZrajJCTGRkcDBoOTdESWR6eVFKZGoxQ3VFWW1NMUlMVDhj?= =?utf-8?B?ODdpNmVZMHNSZGowL1hVMkYxU2Rob0cvUDNlV3hHRE1Ld1RJOUdOOVBkb09S?= =?utf-8?B?TldkNGZRN0MxL0hxenNCeFNSMnZuREZ1QkRzbnYyVEx6b3BuaGtPS2JZZkQ4?= =?utf-8?B?YUIvK0doZ1JoU0pUVWFWc25jV1lsVWZIVzJpTVZTUHV0QlBWdEh0YXZQdm1W?= =?utf-8?B?ak9kYU5uS25QaWNjclJwNW42RStTL0hiWllNTEhpVkRoSGp3eWlDYmZuaUR6?= =?utf-8?B?WTBtbEl4aFpjRGZQbjE2M3pseElBYWEyaEJyNElqV0pCQWZpbDhmMWJVaHd1?= =?utf-8?Q?xPb68Wz7OitJcxLikf7f3Pb2bAjFz5e+VFtj2a6?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: e20ac382-f2fa-4d49-97f6-08d96dec4958 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2021 08:33:06.1307 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CdqcVrJ/MlU3FZzJXiIeI4nU2pwKHFML8YKsvPkMmdLQ7NWSPpTIA/IW5Iv1WT+ch2RGs5a8DF4tOaleKOlJRQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6862 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1630571611769100001 Content-Type: text/plain; charset="utf-8" To become independent of the sequence of mapping operations, permit "access" to accumulate for Dom0, noting that there's not going to be an introspection agent for it which this might interfere with. While e.g. ideally only ROM regions would get mapped with X set, getting there is quite a bit of work. Plus the use of p2m_access_* here is abusive in the first place. Signed-off-by: Jan Beulich --- v2: Split off from original patch. --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -1319,6 +1319,18 @@ static int set_typed_p2m_entry(struct do return -EPERM; } =20 + /* + * Gross bodge, to go away again rather sooner than later: + * + * For MMIO allow access permissions to accumulate, but only for D= om0. + * Since set_identity_p2m_entry() and set_mmio_p2m_entry() differ = in + * the way they specify "access", this will allow the ultimate res= ult + * be independent of the sequence of operations. + */ + if ( is_hardware_domain(d) && gfn_p2mt =3D=3D p2m_mmio_direct && + access <=3D p2m_access_rwx && a <=3D p2m_access_rwx ) + access |=3D a; + if ( access =3D=3D a ) { gfn_unlock(p2m, gfn, order); From nobody Tue Apr 30 04:44:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1630571646; cv=pass; d=zohomail.com; s=zohoarc; b=lpQDmQmFdDxc7wIqCNuw1mq+Njw0gaA38wLjBqo/WWfErmRVeyNc54Xy+hJZiCjSElFTlAY7L5CvVTVjtXHqeOtDydLKoGpLVPB4mY/rNHI9pBX0XzeeECu9E/gcYMh+3N3y7A7B85hrVne/8De9b68lxJXyKSizY06pSx1E75U= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630571646; 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; bh=4Vo4Dkwt5tDPO7OINdISKIs97Cf1OIMtewg4ko0cXdk=; b=Tkb2DCV3cSacdccQGY5ZwwfTlsblvuKkiOmKfWiJhAHZKihJ3ITmUFlRWz9nigxxHo79gcMFqCthWDWkLexwQJMwGThDLqgYq7wLdiZ8siwswKZsKTHFgE1XIviFSDi8oyB9sQ9S0WBCEuC1kkZgMqzIMXRBcUezUdN34KVUcCg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 163057164623251.323417580088176; Thu, 2 Sep 2021 01:34:06 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.177151.322395 (Exim 4.92) (envelope-from ) id 1mLiAR-0000Bk-0h; Thu, 02 Sep 2021 08:33:51 +0000 Received: by outflank-mailman (output) from mailman id 177151.322395; Thu, 02 Sep 2021 08:33:50 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLiAQ-0000BU-Tx; Thu, 02 Sep 2021 08:33:50 +0000 Received: by outflank-mailman (input) for mailman id 177151; Thu, 02 Sep 2021 08:33:49 +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.92) (envelope-from ) id 1mLiAP-0000BK-Kj for xen-devel@lists.xenproject.org; Thu, 02 Sep 2021 08:33:49 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 7e10e197-0bc8-11ec-ae46-12813bfff9fa; Thu, 02 Sep 2021 08:33:48 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2057.outbound.protection.outlook.com [104.47.0.57]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-25-U9UFGGm3PHCgDY-C_PZclA-1; Thu, 02 Sep 2021 10:33:46 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4382.eurprd04.prod.outlook.com (2603:10a6:803:73::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 2 Sep 2021 08:33:45 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.021; Thu, 2 Sep 2021 08:33:45 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR02CA0213.eurprd02.prod.outlook.com (2603:10a6:20b:28f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend Transport; Thu, 2 Sep 2021 08:33:45 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 7e10e197-0bc8-11ec-ae46-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1630571627; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4Vo4Dkwt5tDPO7OINdISKIs97Cf1OIMtewg4ko0cXdk=; b=nN9SvvOIay6vC30EvNHJtrgaqAJUmMe2KpBr8+d+DbjQ80RtRAeBbokhnvLMK7omu6yIJZ gH2rBnJ/owZXsdJC5rmFx/R5jzJ0BZAMnEeWSMDJ/5D/RoxM+LgTutZF2dxhYDKMqE1+F3 4Ky64GnFDn7C4LBQ+JvyUlZnxNBByWE= X-MC-Unique: U9UFGGm3PHCgDY-C_PZclA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cJCmyBG9TXdvHXI8t+c3lNnbSqceaqc/oOMmaeofSybpK6E/5MjKHD2pdmGbWfOXAtECd2yY6lh0x1XnnrIVjqpuVaZa6W3iiI+sjf35WBRrxRFTO8ZmqHb9D9YMngnamdvJgXIxgoyEauGVpuvcK+eqgNUX2mFQb/JZO33gKuXlGvQqy0Lyx50iBjHiKenyXSnBd8QKR60sbV4Uv/SgimXVvCyj/SiIKnbAC59sL/Zmjo1X0BgRJp6LGyo/GD9o0AeAx61hkMXo9hHvQDmikiTd/oUlXNfTH6jjRAbzl2MAtcudNTH8jrid/0hWKqjaBdg0kRCKSOx6lKkkO/Oecw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4Vo4Dkwt5tDPO7OINdISKIs97Cf1OIMtewg4ko0cXdk=; b=YkvDIDmpb4098GeRj2v/7Ht7iK4JAghUIsJipMxpDiFxVpPhc4z0XEhYJq3Le/JSsQ9ojRYweSH7ymUa6MT2UZkFeXKdxeky/6g2PEjwjJUanhUvIUBROrM9/ORs3mIh4da0Db28x85gM66mUOODF0vG/lBbE1iRaHiSbUa2as9pAVPe+1gOUgkJknp4tLDKqIxf9ZFl+7vksZluI0Q1SgblexiJNwlMkgeF64bopcbzNCSsH5blMXZ16O8s7lA0Txh+QNEtj5jP0AQ2t5SIG+X4g5yg+2vDhC3gLI24dX0mh1rKA60HtjHOavHvgLYVwMie116I3O91Vn74M/MQgQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: citrix.com; dkim=none (message not signed) header.d=none;citrix.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH v2 3/6] x86/PVH: improve Dom0 memory size calculation From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= References: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Message-ID: <98d4f692-5287-fe40-c8b7-4d8bea933d50@suse.com> Date: Thu, 2 Sep 2021 10:33:43 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 In-Reply-To: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR02CA0213.eurprd02.prod.outlook.com (2603:10a6:20b:28f::20) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 526246b0-1ff0-4e2c-3d5e-08d96dec60d9 X-MS-TrafficTypeDiagnostic: VI1PR04MB4382: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:2276; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PLhfQ33scBgxDMfhItDtpr+1CdlEEg74uAtdMIiLxDFiO5dqJGnF29DzuukX/pXEqhjKPVuAQ6Ec94oFLHBUFFINr30hGL6dNDpmJYsr5XQB4rykjrLAWv13uwivMXcqsJo2pWPIT3QYySqGTKQahuTetOGCADZwokMc4qGpMtAh2Nf1NtzSQVlJ5V0M1zwvzmQz2ZGUWrCYbn3Y3+mPnyMy4GiWv6/CKnqo60GdjaptkSKfcv/V8Sgel/ZPUzxsjnSxUT4uw+guVg78mHaT8+PcYdi4Gm9EWEs4WWFjVKg+L/iRfQ24O9pEdP3MeHy3F47rPHGHU9pJUxmK9AV3rlukeHPkwW789r+8koQHMJZhbqHtfaiObLJs//B3HyD2vzIQONy2xjt3ni45KDug4ayqsCn9YeRRdVFKDluPJoK8x5qrzFiPUMqpcxFdpdG0CtPmn3RUd1c6n8unYHRGDFsNrnkgEBcuesw7jZr2JEXp9rIDlDvil8xdW0D71gGekLdvu2D/d/1dlSvtIe35YXucwMxMpkXpF7mIVmh5lkkGazMNQ2CTwZ835IxQKp5Of3z90YA/jrqCUgktgk9kpVAWdp5nQsC22WtD0PPX+wcd4Gp9vWDXo3HymetIswAd1+eyQsgdujNew0B8VnBnbf78ZSsSORtbASPJv/5f8hr+ucpfjcqBLHhuK/Uqj0hNmJhtQYU3WiRjvXJUQ14N/qZRzylNG14n/zLfRPw6rBpXOw61rNO/hlMKoVZ99JvQ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(136003)(366004)(396003)(376002)(346002)(31696002)(66476007)(2906002)(186003)(66946007)(38100700002)(26005)(66556008)(5660300002)(478600001)(4326008)(31686004)(36756003)(8676002)(6486002)(316002)(16576012)(6916009)(8936002)(54906003)(956004)(2616005)(83380400001)(86362001)(25903002)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WG1rVUdOZHRHYlc4TTBiZHBNSkIzVGsxWk9ONlVwdUpneGttSi9HemJKbVY2?= =?utf-8?B?OXVqSVRsVGpzTHQ4aElpR1Rhbnp0QUtTa0FJK0xlN0UvK3JvQUh4eCtCb2gy?= =?utf-8?B?SkJFdmxia2Z6R3lvMlR0dy96VFdRaVBVbUpLZ21uYmNVM29DTUNZRmZoWDBK?= =?utf-8?B?MStleWhaTFFpTUhOY2duUmllUWlyd1orQzdYQm9LblRaZW9vLzQ5WVJ1dStQ?= =?utf-8?B?MWNkSTlIUERIbGswblBTSFNGeFpzbnhnQUt1VGV2T1VpYzR6VkVITGkrejdY?= =?utf-8?B?d3I2STJyMS95Y0lZUFVmZENqVVlrUkI5TXh0TmZkaTRmdkJYMEoxRkRSUEVw?= =?utf-8?B?aGl3UndrUnJ4NTZtQWVKTjA4YWlJcFBrMnZKYXBDVGF5QXlpMVF1ZlloemZI?= =?utf-8?B?Tlgxa3Y5SzVVVmhzb08xMzZIY3Z2ZDVERDU5VmRWSU1Gd1ArZTRQTWthejlp?= =?utf-8?B?ZzM0TVhkYnNSMnl2bzZuMWFyM0pER3EwSzJwY2NyT1RTUEczaUpUVUs1VytQ?= =?utf-8?B?aitadmJKNWZ3cStjTjBEalFJVDg0clIyV0RDcVVRUWlpdVEraGJEaHUrb3Zq?= =?utf-8?B?NlBMcGxJZysyMkJMelJoZVQwM2pVSkVvSUI5V0o3b0hnbGZLWlZ2anpmaHdr?= =?utf-8?B?UWpqaitmNGJNTHZBbkMxbFRDUUh4M2tyeVY2S3l3aEZ0TXJnZzZjNUc1elRw?= =?utf-8?B?YiswSWFvbGpMekRqUUNNeVllR0l6RXpaakYyNTZvc0F2QVIzWEdKQ20yeWs0?= =?utf-8?B?MEFqMS9YZWJreU1uS001L0NMMFZ4THpsRHFOTnRaMjV0MEwwU3FyTGFNalZN?= =?utf-8?B?a2ZZV3BPUUtMeUlZbVdrc3dJREdYM0pVNDRKZ09HTWQyTDlhWFFFUHVsNnEv?= =?utf-8?B?ckEvbWtobjB2ZE81U3Q4M1BVZjgxVHNDSk9UWFpteTVUVkpPSk9QZ0lqTk9W?= =?utf-8?B?QzZwcXUxU1RJSWR5OG1MSU9LNnhyeDFDL21ZT3NncHl2d0RGaVB2VFQzOFhv?= =?utf-8?B?blNVZTV1a0RzaG9RUjhnK1MrZkRoZ2FiUkg5a0craktHWUdLaGhUY0tFekJ0?= =?utf-8?B?eFdrZmlZOXdIYVQxL0krUUZnREtySUdPNnNobi9tSEYwbUZvazkyMVJzYUhr?= =?utf-8?B?V00zek9SbDRQc0p5aWdkaUtpaUppWmpVN3BBdjBhdS9lUktDUms5SjVONXFS?= =?utf-8?B?VXZoYjR6NWhwSGhSUGNVUFBRdVkzU2w2RjRPa1Y5blQ1Ujk2Y0tkSk9FT00z?= =?utf-8?B?czUyMit4eUdNQll0M3Vjb1A4NDBxdzVYMnNJUEpCRk9lUTdmWHEwOTRNdlpm?= =?utf-8?B?dDRiMnpERjRkb2QzY3lrYUNkYWdpcUxvNkVSV0JXcXFONHVFUkUzYXIxRHJY?= =?utf-8?B?b1VsaXYxdkFCOXNqQjRzdGdGV0VYbDUrUDJjK2ZRcU5yczR1VWRvWDA0QWdP?= =?utf-8?B?NEo3VmxSTW00ckFkbkRkVjZLMy93YVRPMFJtYVo1QWUzK1pCZHlSZWtKMVkz?= =?utf-8?B?VUtpUXF4c3VIUzZ2S1lNd25abkc3TTdlMU84SS9EU3ZWS2tJYzg0VGlXWTA3?= =?utf-8?B?RER6TTd5K292NTkvcWhnYkRHNzdqYmtTdTFnMkkxWkdsdkt4N0NjYlltaDFE?= =?utf-8?B?WTJQVnJGQUpUZ1IwWGFXb2dLTFZ3RVVNUExKenozRGJuT04veHV0aURvQ3Nw?= =?utf-8?B?d0laK0tEam5qN3g1b3kzc2xBQXVOakNxaWREQlBQYzZZSGJKdTRaSlgxcEhm?= =?utf-8?Q?MKIvYa6UBm20vqyImMoTq8mRrwaWX2ePzIu1fP3?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 526246b0-1ff0-4e2c-3d5e-08d96dec60d9 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2021 08:33:45.5974 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: F1EGcA3cNjCnedJ3cetZGVH+d9QpKSas/7Uwo/r0EmOXbFG3P20VITadmjfLNd8Luy8EWmK1W3h7ayY3YYxRdA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4382 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1630571646648100001 Content-Type: text/plain; charset="utf-8" Assuming that the accounting for IOMMU page tables will also take care of the P2M needs was wrong: dom0_paging_pages() can determine a far higher value, high enough for the system to run out of memory while setting up Dom0. Hence in the case of shared page tables the larger of the two values needs to be used (without shared page tables the sum of both continues to be applicable). While there also account for two further aspects in the PV case: With "iommu=3Ddom0-passthrough" no IOMMU page tables would get allocated, so none need accounting for. And if shadow mode is to be enabled, setting aside a suitable amount for the P2M pool to get populated is also necessary (i.e. similar to the non-shared-page-tables case of PVH). Signed-off-by: Jan Beulich --- a/xen/arch/x86/dom0_build.c +++ b/xen/arch/x86/dom0_build.c @@ -318,7 +318,7 @@ unsigned long __init dom0_compute_nr_pag struct domain *d, struct elf_dom_parms *parms, unsigned long initrd_le= n) { nodeid_t node; - unsigned long avail =3D 0, nr_pages, min_pages, max_pages; + unsigned long avail =3D 0, nr_pages, min_pages, max_pages, iommu_pages= =3D 0; bool need_paging; =20 /* The ordering of operands is to work around a clang5 issue. */ @@ -337,18 +337,23 @@ unsigned long __init dom0_compute_nr_pag avail -=3D d->max_vcpus - 1; =20 /* Reserve memory for iommu_dom0_init() (rough estimate). */ - if ( is_iommu_enabled(d) ) + if ( is_iommu_enabled(d) && !iommu_hwdom_passthrough ) { unsigned int s; =20 for ( s =3D 9; s < BITS_PER_LONG; s +=3D 9 ) - avail -=3D max_pdx >> s; + iommu_pages +=3D max_pdx >> s; + + avail -=3D iommu_pages; } =20 - need_paging =3D is_hvm_domain(d) && - (!iommu_use_hap_pt(d) || !paging_mode_hap(d)); + need_paging =3D is_hvm_domain(d) + ? !iommu_use_hap_pt(d) || !paging_mode_hap(d) + : opt_dom0_shadow; for ( ; ; need_paging =3D false ) { + unsigned long paging_pages; + nr_pages =3D get_memsize(&dom0_size, avail); min_pages =3D get_memsize(&dom0_min_size, avail); max_pages =3D get_memsize(&dom0_max_size, avail); @@ -377,11 +382,20 @@ unsigned long __init dom0_compute_nr_pag nr_pages =3D min(nr_pages, max_pages); nr_pages =3D min(nr_pages, avail); =20 - if ( !need_paging ) - break; + paging_pages =3D paging_mode_enabled(d) || need_paging + ? dom0_paging_pages(d, nr_pages) : 0; =20 /* Reserve memory for shadow or HAP. */ - avail -=3D dom0_paging_pages(d, nr_pages); + if ( !need_paging ) + { + if ( paging_pages <=3D iommu_pages ) + break; + + avail -=3D paging_pages - iommu_pages; + } + else + avail -=3D paging_pages; + iommu_pages =3D paging_pages; } =20 if ( is_pv_domain(d) && From nobody Tue Apr 30 04:44:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1630571687; cv=pass; d=zohomail.com; s=zohoarc; b=VsbPzBP5HRlEWO8bD7Au7EIfwepaecowwdldidaTH7nm5iTjnQPKBCMJoHN1wNMs6lCS3riVJTQpsLLlUzxK39qg+BH61zzR/oFgi9ZMlWZhYxGaDYlSAta8n7llRtf+TPMp0sqHCm5t8mYEDamchgvVLQs5Qn0ddoNrJnQ3umA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630571687; 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; bh=MFNiMXoiKa06wTzVJFs8SMvmLCcjsyrCF6I15nLpdgY=; b=ZQWZeXPRxj0Bf64YPEyv5uvhSXoqgm219wQ336UkG2Pm7E3wCIs4g6foLHYPJacvUYMQIkoqvtfUzjZZEOehdTaKWiClwymST2Bw+/33pH45G7LBPwuqzbiFRSvVTRyA+S6LBT5yVMvvBcIikcvGTuceVK6xguc6Dgms8r46nQg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 16305716871618.152930377756775; Thu, 2 Sep 2021 01:34:47 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.177157.322407 (Exim 4.92) (envelope-from ) id 1mLiAy-0000lU-Ad; Thu, 02 Sep 2021 08:34:24 +0000 Received: by outflank-mailman (output) from mailman id 177157.322407; Thu, 02 Sep 2021 08:34:24 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLiAy-0000lN-7R; Thu, 02 Sep 2021 08:34:24 +0000 Received: by outflank-mailman (input) for mailman id 177157; Thu, 02 Sep 2021 08:34:22 +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.92) (envelope-from ) id 1mLiAw-0000jF-Gv for xen-devel@lists.xenproject.org; Thu, 02 Sep 2021 08:34:22 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 91cebf8c-0bc8-11ec-ae46-12813bfff9fa; Thu, 02 Sep 2021 08:34:21 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-26-mV4NjS7ZPO6kVHAaWD_-qA-1; Thu, 02 Sep 2021 10:34:19 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4382.eurprd04.prod.outlook.com (2603:10a6:803:73::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 2 Sep 2021 08:34:18 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.021; Thu, 2 Sep 2021 08:34:18 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR03CA0054.eurprd03.prod.outlook.com (2603:10a6:208::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend Transport; Thu, 2 Sep 2021 08:34:17 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 91cebf8c-0bc8-11ec-ae46-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1630571660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MFNiMXoiKa06wTzVJFs8SMvmLCcjsyrCF6I15nLpdgY=; b=Q8mz+ZAeCT+gw/PXiBqkk2rX86/MVDlLmBcq/5ennSLm0lNsVVIXwEnj6jYOqPIk/wcYBG BqMhYH/HLvG7zPpUMJUtYneipSzkXQE0wHxH1MODQQRZO3iBLT4K6kcAUZRIn2C4eisbwb n+8wncth7wpaaOMpxZiW2TuP8Ucqi+0= X-MC-Unique: mV4NjS7ZPO6kVHAaWD_-qA-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BRlP2XFEfmByhwI/5Jf+T8woCrmkt8PDBZQUnFGG1RT+wj9ZnW2niRp5wFisVcrdH6rOdX9pGqJNIjCvztOFUEQtiqCyIJ2crF9k9Iu6s0o90FfXVDwJDY2IjewBuS05SMGeHPOTRATkC0cTINUxHkY7LfUM5NuRel1AU8mboDs+FgMn+xLmzJJOTMSrbw3vrYYkznPQfQ6Zy2RGPeQb5fzk7prlGyZA2KKT77uaTojfquY0joDihX8NA189LHmBcEGdufjUqKgymI+IPrhGjrAhfHU3NdbETz0UemsKUVkS0KPTCTHOaW97xbRTy9LJJ3WTWs6P6U1PdQjGUzn24w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MFNiMXoiKa06wTzVJFs8SMvmLCcjsyrCF6I15nLpdgY=; b=Nd3+D0GZyx9wHfGziRufm/aqTed9mhjaXx5K/e1jT0P4o5R6Qi8Zkm3fu17mQ1D75l3mRx7Xu0nAPcUI3TqCF06j/rXkWEO8r9nBSiCcb8s+EqoUrMPuaR0KO2BZRL+QjgtQzE8GmFZseEwmYe4b1FdJC99PWhMCKUA4E0hrnD5frM/k8mWG3U6EDtuvXv6RpdP2M9oxsTbADTru0ndZBj5ZHKhVhH4q7GUpbIU9NQPTQIeFm6kGae63oNDMSE9nO+hW0q4y3LE2Ta+VRwmdKDEbwkJTOUBKqWCOzTmEF3M2TOU3Cg03N2MpwWaVY31OFXNJ3Cs5j7wpk7vXS/L9pw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com; Subject: [PATCH v2 4/6] x86/PV: properly set shadow allocation for Dom0 From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Tim Deegan References: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Message-ID: <1a916bf0-cf23-c2cf-eb18-07f8cea27850@suse.com> Date: Thu, 2 Sep 2021 10:34:15 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 In-Reply-To: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR03CA0054.eurprd03.prod.outlook.com (2603:10a6:208::31) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2200fa26-af8c-4f75-d3c6-08d96dec7440 X-MS-TrafficTypeDiagnostic: VI1PR04MB4382: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MthWaVx89Qa+jwjD9+9vfDYthol0POTKtKJPBdsoOIKmYxGjEJKKrgOIg8z5Y4Owf2zYJj0/fdc9+hgh1SnlMvCu2g3COA2YLPy1PH8U2wJXzplLUqXT4JsnEIEGy/nDc+CCoY3U+saSo1oBYj0X9U1TVnjzRQi3WMEKvWazEedhxl5M7oALKsG0mC3bKXH2ra0u8FomBmzkm608HHcBXbZMNwCC1oD+m8kwu5W+jC0u7N/g+Ns/BvEb2uhRhQPpWlrlglO01x7+Icxa0X9pNYM4oxJfZUuxsGxYa1p0uN1rPrriljUbWZlTe3ABacjVzZrCJSlkkHpSnTclSgmLbNIdjOkPZzmwd43PXVQkeD2j1wRxM1ExVoYWaq/jjjaScgVXhKXBx5m4fA+tjf9V87sJjEHTlX1Tm3uEPFAUIo68ri7RsYoLxSCfwb3+h440S0dEXD2hm+tGYMUJUrFnYpouGItJ7VNgxwDlksfCHsRtm9dDKnrocU+3WuZwBFz/x3U+FYkX3TdW1nlsBRGpti6cIhqXL012+QYTm0QZpEpySAb/XrGpO6sQg+N1UmiADU1o5EeGtuQyupSYYb9rZ6zSqDfGgO8CtPkgZK++hGmIDZZAV5quUe7k0E3eGnkXhxKgd482TNg9GYlibLJEQgLdPD4sGClevToFw0cmv3Q7St3aZ9IRS2kc0/JphHbI//6vrEyJmCIi6+Xb22X23wFJ3+bQEr5W8In2InL72Lo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(136003)(366004)(396003)(376002)(346002)(31696002)(66476007)(2906002)(186003)(66946007)(38100700002)(26005)(66556008)(5660300002)(478600001)(4326008)(31686004)(36756003)(8676002)(6486002)(316002)(16576012)(6916009)(8936002)(54906003)(956004)(2616005)(83380400001)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R3djZk0vczdoZmZZTWxqL04vSFVxTHNyYzFRLy9MTllidThKWFgxQTl0cElP?= =?utf-8?B?OENKckRaRk5Jem1BSDQ5cjVDZ2QxYlVLS2hwUkFQSDhGYTY0Rkw5dGtwNkxE?= =?utf-8?B?Y3dwWWdpSWZFeUM1UW00ZWJUU3BpQ2JMSGgraUpVUmJRWGdPcm9CeTY5T3c5?= =?utf-8?B?WklDRFQ2VXA1a1dsVUJrbVdLZjNqek80M3lVeUVrdWhmTGp2VzZmaFZZOHAy?= =?utf-8?B?SjloUnlEWDQ5aWk1cVduU3VOVVpDZVI5K0RJVjJJR2VnTVFrbmtab2dvbXdB?= =?utf-8?B?MzVqeVRLNjRHZWlvdCs0WXp4dEowdk5ZcGJtdlIxOURjTUw5VXV5VXVycy9v?= =?utf-8?B?R0ZlcVRMcDAwUmY3d3lFbE13QWxQV3M0Y3lDQkNJd2NGdkV1N2ZJS0Q0bXIw?= =?utf-8?B?cGp4T2dsL2FBd203b3RQVjlML1dMem5FMWx3anJpNTZkeVhORk81QVFRTHlR?= =?utf-8?B?MTNsUUhmODRVSlRtUThHQjhVZDAwSXRnTjllTzZwUGgxZXB6NU8vZ3p1TG1u?= =?utf-8?B?WGNwVVR3NHpSNTduR0dIeUVBYnF3UERrTXpGQnJQcVF5dFAyY05wY1lrdmYx?= =?utf-8?B?Zi9ES1p2NEFPZTUzanNpQ1RMTDVyQzdWdDRFYnVYcTVyZHkyQ0p0WHZCWHlm?= =?utf-8?B?WDBUcVFmMzFUUFNRRUZNQUhkZmFFTFVXOGJKcXpEYmlGaFVyTWZuekdJWjl5?= =?utf-8?B?V1dLUVcwamt3aDROQUwvS2RDYlRuOGMxYURzSElWRmpvV1FUNmIycFdCQURO?= =?utf-8?B?MXlrNWowMDJ6dCtWK1BOR3pGdUFVNi8xWFErSURmdWF4SE1ydXJEOU5uNVdT?= =?utf-8?B?RXR0dll0dGkzc3kvZGlkdkxDRVphU05HSjlVYm8xMFpSUTJPeEFSejlQQWpQ?= =?utf-8?B?RU1sMjB5ZUxnM2Jhbk9veG5NUnh3R1BienBNUXFpZ0R3ZXc4N0hOdFhWSVk2?= =?utf-8?B?UlBPT2c4R3ZYZjFzVUFtOUg3elkvY2Z1Z2dJamt1MTlIdXR2cDVNN0RHRU5K?= =?utf-8?B?ZHJEUkFhVE9pZm9DTnpEYjFjMmJYeUhGUHJFODFrSER4QTBOUVA3SWJTZXFm?= =?utf-8?B?TjFESHNNVFJHVXNWRFJibEpaUkNsVjFxbno4bHJwNkFmU09kZkpxZUxXVFNX?= =?utf-8?B?eU1DTkRzdk5KNjVPUUVlZUNEaWk2LzNtQmdIZTVLUmZhYjRWaFpjY3V6ZTNy?= =?utf-8?B?RTNVZTRCZFdMRWczbERKTG9TbHVKdklvdDBhaXQyZ0luTHhWM2c0WkJ4ZE5I?= =?utf-8?B?VzhrOUpjdVVHeGtGcnQxckRneWlrWVBoczJENWF0QkNMRVU4NGRCN1dYd2dK?= =?utf-8?B?dTFvVGtQN1hxUGppUDhzem1GSWFRdy9ZM3dPMm9XSlQrUVVKRXhaNkQvd0Fx?= =?utf-8?B?KzdUdU1rMkhqa2p1Z0c2KzFHcXdJeEpXUnloUTMyeFY5cW80dG1vK3ZjTGtt?= =?utf-8?B?RzNNOXhZcTRneTlINFZmVlZNaU5Cc1B2ei9nbjIzL1R3bzN3SVlmdTJ5bm5H?= =?utf-8?B?QlkvcmZtTHZMZC9HWWJSblFCWHlNSzFXMHdCWFQ2Z3ZjK1ZGRUNBOVNDdWlS?= =?utf-8?B?OGZybksrY3ZRemloQ1JLWmNNbE01dmdWUWdSMXh5VkQ0UkpBQmIvZ1gzbSsy?= =?utf-8?B?UmRFUzdKU1dkQ011UmY3eEJIdUlEZzl6NEsvM3pxODljM2tLQndYL3hwUDda?= =?utf-8?B?RjJadFcvNHI3aHJ2Q1Bzenl0NS9ieU54eEdZLzdEUWpCMDhZQmkvemR3Vnow?= =?utf-8?Q?Q/Os+aEgRb74BhFKUqdpNBIpNQNL/1KM6gbts70?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2200fa26-af8c-4f75-d3c6-08d96dec7440 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2021 08:34:18.0900 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: mcEMG2vgLKJ+r/fnn2mjT4ZguMdZtK43BX69hBl8YK0RRCh12jcUMsSGqfjfC4oEERJsSna2vVhba8UV+c0GPw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4382 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1630571687896100001 Content-Type: text/plain; charset="utf-8" Leaving shadow setup just to the L1TF tasklet means running Dom0 on a minimally acceptable shadow memory pool, rather than what normally would be used (also, for example, for PVH). Populate the pool before triggering the tasklet, on a best effort basis (again like done for PVH). Signed-off-by: Jan Beulich Acked-by: Tim Deegan --- v2: Latch dom0_paging_pages() result. --- a/xen/arch/x86/mm/shadow/common.c +++ b/xen/arch/x86/mm/shadow/common.c @@ -1298,7 +1298,7 @@ int shadow_set_allocation(struct domain { struct page_info *sp; =20 - ASSERT(paging_locked_by_me(d)); + ASSERT(paging_locked_by_me(d) || system_state < SYS_STATE_active); =20 if ( pages > 0 ) { --- a/xen/arch/x86/pv/dom0_build.c +++ b/xen/arch/x86/pv/dom0_build.c @@ -21,6 +21,7 @@ #include #include #include +#include =20 /* Allow ring-3 access in long mode as guest cannot use ring 1 ... */ #define BASE_PROT (_PAGE_PRESENT|_PAGE_RW|_PAGE_ACCESSED|_PAGE_USER) @@ -933,7 +934,18 @@ int __init dom0_construct_pv(struct doma #ifdef CONFIG_SHADOW_PAGING if ( opt_dom0_shadow ) { + bool preempted; + printk("Switching dom0 to using shadow paging\n"); + + nr_pt_pages =3D dom0_paging_pages(d, nr_pages); + + do { + preempted =3D false; + shadow_set_allocation(d, nr_pt_pages, &preempted); + process_pending_softirqs(); + } while ( preempted ); + tasklet_schedule(&d->arch.paging.shadow.pv_l1tf_tasklet); } #endif From nobody Tue Apr 30 04:44:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1630571757; cv=pass; d=zohomail.com; s=zohoarc; b=RkDdwhvdE90e+XX1Zl+EHczsAkjk3eTET0GloYISmwefOe8NAcsDRRj2CCWAb4ZuNFewDQ+vzlecAGA1FNIIHSM5vrkp9I72u2GbyUEV6Vnp/U4JLbMXEZOoWso62jRchsf8JZpPJz1WppoTraPS4YSsPmpE6N5rvi2XWGr1YzA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630571757; 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; bh=WA1KAMRckXvuUXmqZbyvq0j4l0CKS5BjF16pVyrhqnE=; b=jALNBatotxUpYiawgLdJ8kM+MwSyUCi4uwPrUjnRqF6DJDgBczhQgY6yRa7E4gvG1vVUr2IPKLYfwLWD0M+SfdkmB1Zr9ZSyiSSov20dtjPlaCg2t7QYZd33Cfrj9QEAHKblFy5jQFOWd1rYpAIpt+osJydFjF9I1phEDczXjcg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1630571757498921.1321503530934; Thu, 2 Sep 2021 01:35:57 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.177164.322418 (Exim 4.92) (envelope-from ) id 1mLiCC-0001Vi-QS; Thu, 02 Sep 2021 08:35:40 +0000 Received: by outflank-mailman (output) from mailman id 177164.322418; Thu, 02 Sep 2021 08:35:40 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLiCC-0001Vb-NB; Thu, 02 Sep 2021 08:35:40 +0000 Received: by outflank-mailman (input) for mailman id 177164; Thu, 02 Sep 2021 08:35:39 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLiCB-0001VV-MD for xen-devel@lists.xenproject.org; Thu, 02 Sep 2021 08:35:39 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.111.102]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 61649c31-d848-4c36-a8cb-50d2e2728f10; Thu, 02 Sep 2021 08:35:38 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-40-WLfgfpoDObGdH1pRwezw8Q-1; Thu, 02 Sep 2021 10:35:32 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR04MB4382.eurprd04.prod.outlook.com (2603:10a6:803:73::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.17; Thu, 2 Sep 2021 08:35:30 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.021; Thu, 2 Sep 2021 08:35:30 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR01CA0113.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend Transport; Thu, 2 Sep 2021 08:35:29 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 61649c31-d848-4c36-a8cb-50d2e2728f10 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1630571737; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WA1KAMRckXvuUXmqZbyvq0j4l0CKS5BjF16pVyrhqnE=; b=l0KzgmUbnDjAa4c0c92ZIOG9cY8Js3XZN98MiqVOQXq4ylEH3DG1UtjjBbDltGZbAUAzUO a2thv3prkpIb6bSg5Ovkz1SGdvXsbfdhznMZ7XHkStQR1jLWwY4dcd8c3AMfU3yCvU+pKQ RrrLl+leruAHEGbmMdkKNNESUQDti8Y= X-MC-Unique: WLfgfpoDObGdH1pRwezw8Q-1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FgeD+kR1iFq0fUzJG7/zgifj1bz42Y7p2u26lBTkipvySMyy5MAhDAlCFtnvxt/asK6FwWehwRf8Grv4pDJc6ncyO8acE8UxX7LPyvJbL8C/KkQ2bRlW/lldNU5x20k3CYrSQtaxtCHm5eGyt9xwv5bdJpiNxqUAfMhsVmVhhzEd/RjnsHnxEvkdGYZeaQkGwb4acj5vwPaWtbWYDyjDtr4PrZgxwVDrNQi775M9li80jbYBqYM2/Z1zoY+tl4Dheea4n/je4nMxHGtMWneMqmbtMjA2AT7aZxfDFz0Iui5mZMROfVkXg6Si3JXrXAOFallipkqWaGfrTWh7QxTKAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WA1KAMRckXvuUXmqZbyvq0j4l0CKS5BjF16pVyrhqnE=; b=LlDIJJzGwrLpIejPSQto09A+luKjSqvO85sFz+h9Ae5jsLWPqQXx8xdRj+oHCA4dOXD7W+Yedx0oQ74T+x5LFEYfRPiJZ7suc+gfRraWS0jr8E3GXODBAHpqrQpQlbhG4yNO34j8Pc+MHGh/NYaRAd4MlJfsqtOdIXPDXVDktUWDhPD79lRka8DYsWZ4vxunmS+onSQJiWIlpkwxGgJDNQRwXOurIQWtv4yguUS1AKyXQ0rBXrBcaNdDB4JTCyFJghe842o9FfAjv+DoZAqUeFJfoSXRQ13vbYTORfuODqfUs5gOxz4uzoPMcY8VNp5PRyLBXu5P3/ga1Ch4NFHsaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH v2 5/6] x86/PVH: actually show Dom0's register state from debug key '0' From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Wei Liu , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Kevin Tian , Jun Nakajima References: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Message-ID: Date: Thu, 2 Sep 2021 10:35:27 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 In-Reply-To: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR01CA0113.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::18) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f1203fff-04e3-4fb5-3320-08d96dec9f9c X-MS-TrafficTypeDiagnostic: VI1PR04MB4382: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1kujJhewmYX+Uw+noRoRi+x+Ilvv0mAPF2HIKZBEKac22XkThkOwvpReFnTUKEqZPO/15SCA5Y3Pui0aG7O7Lr5+jCkAxL+IvDZmUAuGB5CrHXUYcM99Il3kKpfEZW97x92aAz5mcnAUtE3BYWQbHSOaGhdTpaFBV5yWJN+7NScuHTgRQS/th/qbBWKXmU0NP1F7pGf4jbInKUOLCegKl6/1CgOTqBRV3wy39vVbp/JpN3dtWv5eQzueLKkoHQJZkbP7yiKwoV/x7SFPp1lY3chMepyjd28Z1Fn1zFLSPNDavx9T1tu/2dvD/YemhntkLV7uiyzvzFKZLSCRMYsIoUcWM063GhaFycO5IKzTT5hd+dNWhGGqM3V57UIRlQQh0OfVypemmB7s6REen1tpILPNOPDehPTsMsVWdXOR+lJzuv4fGEd8cLJV0v8uvrNoZY2JG2VuEsF/1/VEZ5QPYx4Ofj9gPqMB0VdfoOPTVMpTUf0cyRGEemm7G3iuxlsCaLWZ+efjpuvRo3ix/G1cA7baPq20/NV6Wsgo4wAuy/cKuB8zj4ShIaYKz8OTzBlLqN1ot9CYOlYyo7o8B6ZG1/JP+ghhPvSqqjY+uZGXwhxqkh2eY/xAXPzur1hwj53yGyy7BsaLhL+URaYMjVjxqLoqF7XWrMgcUSYUV7OiH2HglqdyDOP5jnSfhk0sDg7eNHJU+CwtxhW4mymai2OUZg== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(39860400002)(136003)(366004)(396003)(376002)(346002)(31696002)(66476007)(2906002)(186003)(66946007)(38100700002)(26005)(66556008)(5660300002)(478600001)(4326008)(31686004)(36756003)(8676002)(6486002)(316002)(16576012)(6916009)(8936002)(54906003)(956004)(2616005)(83380400001)(86362001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YW1xb01rVExQNTZqVk12TjlKaURVTlRYUVVlNTFTeEdha2M0QXlydlFHaFdr?= =?utf-8?B?ZmcrRFZLam1mTGNNdkllZlppQlZvTXBQRzdOTUJVNmZmVzArdXllUnA4K2RH?= =?utf-8?B?Z2wvUUp5UmlXT1Zod0JWZmhyemV1L3hhZTJlaHFQU0UyVHlNUnZHL3ErR0VS?= =?utf-8?B?L0RsRkdaK2xEdDBNS29qeVdIWlZjKzNpbjA5Qk5ZTHh4SzZDdEdQZWlJLzk4?= =?utf-8?B?aWxJdnJteUFYaHhTeFlOOUxPZHJyeWJ1T05MWFRxemRORlpCSHByaWZkSmpY?= =?utf-8?B?SGhQMEFzRGYvQmdrOWswdmRYcEppWE9QalAzM281ZGJodEFMSHUzYzJ4a3FF?= =?utf-8?B?Mm1YOTd4REJxWFdsMzFheEVMNFNnMjU4NUgxRHZNRWNRYUNPNG5jTENaNlVO?= =?utf-8?B?dk04UEZDTHo3ZmxmREdGYjJ4TFRDVGYva3VlWkczdzdGVW9hblFTRmVTYnNY?= =?utf-8?B?dC9PTjlyaDNoNjZwdlJScmExeHI4WEppQ2s0MHBvdmJ6SDFzR2hIS3lIak8w?= =?utf-8?B?MVpBWnJ3REo0bFFPNFlEZ2s2UTgwK2FOTGRDbTcvUU9rNVVLTmZqNGF1WFlD?= =?utf-8?B?NnFxejBZb2owU1MvaEJuNCtSUWZDQ3Q5Z3NXUHFpYUZ4cm8rYWt1RTNNUUx6?= =?utf-8?B?cncyZGdXRnlRZU5hazNVdUFBMzVzMVBlUExpUzllMW9VL1d5OUl0UVVDZ1p5?= =?utf-8?B?VjgveWw0WlhLbmIrbTFsb0RTU2dCZmNLcld1VHE1UENKeXlGR0FWQldENGsy?= =?utf-8?B?RFBmTW9HQWs2QS9wSzA0c3NvU3RyekFnQkN4L0NFZmtjZ0xiOWJHbjlDWkdL?= =?utf-8?B?Rjdrc1ZHTGJOazRiL3kvWXhGRm9TTFcyTEcxekt4MGE0UjhKRElDc09kaUlP?= =?utf-8?B?UzJKU1FWTllSdW4zU1hVVEpOUUxoVEpIek5mck4yNHA5cFFQVWJidFplT0Vw?= =?utf-8?B?T2tuVmZoTVBIUmY3RkczNDRPT0xWZ3hCei9tTVJKb1I1eFVjY2lOVW81a2FX?= =?utf-8?B?VUZ0elhqL3M0NERyTlFIUExwY3d3Y1pZc0VPK0F2NTR1SS9Qdm5YWFgvKzdB?= =?utf-8?B?aE1ldjFKTVY5bEYyYTlpc21HL0pjVjNOVDJOYnFqZGREcjRoaHhoQjh4Q250?= =?utf-8?B?aCswM25PM2l1TDlPbDNzeDl1ZkVVUjFyUXdNMi9ZcnNPellucVJmWFRkUTFo?= =?utf-8?B?Q2dScVdubGxJWVU1eDB0eTZuRzRQaE1ubTcwWEhjNkNoek9Lbk9nMGxReExI?= =?utf-8?B?NkhrMGg2U1VqMHZNVzRvbEFDLzNpck5vSlRnWnNwS3NuRndlaWVsWHFXMmpV?= =?utf-8?B?dXJqWG1vaWFVdmc4c2dFSkVUUDFMcmdNMnFMbFEvc2hXMmk2eDRIUmUycmFm?= =?utf-8?B?Tys0R01seHB5OFoxQkQzaHQ5RTFkT2F3YzdvMnBKS0dBcEhvenB5bG52UzZq?= =?utf-8?B?K01sSURVUGRVMS9Kd2Qvb1FpNFdEZjhpUnI5SUZtN3RpN3dmM09IWXY3ODk4?= =?utf-8?B?V0dTV0Zac20vN3k0U0l6dW16c1plWmsvelllK3FHV05oa1FDY0V4NzZ1NXY1?= =?utf-8?B?cXlCZytJT1FzQkl4T1o1ZFVaTDZieXpzdEdZRmNkT3cvMFdRaGxsclY2Z1NS?= =?utf-8?B?RDFSK2g0OXFidlIva01PZVRMR2RxZXlsL0ozK3A1WEFVRDZ5N3RDN1hrNHVL?= =?utf-8?B?ckprL1gyaWdJT3U5WnFjOTdUMWYwSmlOTTEwWVg5MTNuL3FLWVAzTGtGZndN?= =?utf-8?Q?JrH28oUtXR9viFbSvsubGlI8eLp5WgE+okcIgK9?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: f1203fff-04e3-4fb5-3320-08d96dec9f9c X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2021 08:35:30.8818 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: gcQ/uPgMGbWDlFY+ZF5tk7X9RMxD/7loktpn1QcPD/55qFIiyM6jj3egHPLRy7v5hyUtWM2r5B3O3CL/x5GbqQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB4382 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1630571759787100001 Content-Type: text/plain; charset="utf-8" vcpu_show_registers() didn't do anything for HVM so far. Note though that some extra hackery is needed for VMX - see the code comment. Note further that the show_guest_stack() invocation is left alone here: While strictly speaking guest_kernel_mode() should be predicated by a PV / !HVM check, show_guest_stack() itself will bail immediately for HVM. While there and despite not being PVH-specific, take the opportunity and filter offline vCPU-s: There's not really any register state associated with them, so avoid spamming the log with useless information while still leaving an indication of the fact. Signed-off-by: Jan Beulich --- I was pondering whether to also have the VMCS/VMCB dumped for every vCPU, to present full state. The downside is that for larger systems this would be a lot of output. --- v2: New. --- a/xen/arch/x86/x86_64/traps.c +++ b/xen/arch/x86/x86_64/traps.c @@ -49,6 +49,39 @@ static void read_registers(struct cpu_us crs[7] =3D read_gs_shadow(); } =20 +static void get_hvm_registers(struct vcpu *v, struct cpu_user_regs *regs, + unsigned long crs[8]) +{ + struct segment_register sreg; + + crs[0] =3D v->arch.hvm.guest_cr[0]; + crs[2] =3D v->arch.hvm.guest_cr[2]; + crs[3] =3D v->arch.hvm.guest_cr[3]; + crs[4] =3D v->arch.hvm.guest_cr[4]; + + hvm_get_segment_register(v, x86_seg_cs, &sreg); + regs->cs =3D sreg.sel; + + hvm_get_segment_register(v, x86_seg_ds, &sreg); + regs->ds =3D sreg.sel; + + hvm_get_segment_register(v, x86_seg_es, &sreg); + regs->es =3D sreg.sel; + + hvm_get_segment_register(v, x86_seg_fs, &sreg); + regs->fs =3D sreg.sel; + crs[5] =3D sreg.base; + + hvm_get_segment_register(v, x86_seg_gs, &sreg); + regs->gs =3D sreg.sel; + crs[6] =3D sreg.base; + + hvm_get_segment_register(v, x86_seg_ss, &sreg); + regs->ss =3D sreg.sel; + + crs[7] =3D hvm_get_shadow_gs_base(v); +} + static void _show_registers( const struct cpu_user_regs *regs, unsigned long crs[8], enum context context, const struct vcpu *v) @@ -99,27 +132,8 @@ void show_registers(const struct cpu_use =20 if ( guest_mode(regs) && is_hvm_vcpu(v) ) { - struct segment_register sreg; + get_hvm_registers(v, &fault_regs, fault_crs); context =3D CTXT_hvm_guest; - fault_crs[0] =3D v->arch.hvm.guest_cr[0]; - fault_crs[2] =3D v->arch.hvm.guest_cr[2]; - fault_crs[3] =3D v->arch.hvm.guest_cr[3]; - fault_crs[4] =3D v->arch.hvm.guest_cr[4]; - hvm_get_segment_register(v, x86_seg_cs, &sreg); - fault_regs.cs =3D sreg.sel; - hvm_get_segment_register(v, x86_seg_ds, &sreg); - fault_regs.ds =3D sreg.sel; - hvm_get_segment_register(v, x86_seg_es, &sreg); - fault_regs.es =3D sreg.sel; - hvm_get_segment_register(v, x86_seg_fs, &sreg); - fault_regs.fs =3D sreg.sel; - fault_crs[5] =3D sreg.base; - hvm_get_segment_register(v, x86_seg_gs, &sreg); - fault_regs.gs =3D sreg.sel; - fault_crs[6] =3D sreg.base; - hvm_get_segment_register(v, x86_seg_ss, &sreg); - fault_regs.ss =3D sreg.sel; - fault_crs[7] =3D hvm_get_shadow_gs_base(v); } else { @@ -159,24 +173,35 @@ void show_registers(const struct cpu_use void vcpu_show_registers(const struct vcpu *v) { const struct cpu_user_regs *regs =3D &v->arch.user_regs; - bool kernel =3D guest_kernel_mode(v, regs); + struct cpu_user_regs aux_regs; + enum context context; unsigned long crs[8]; =20 - /* Only handle PV guests for now */ - if ( !is_pv_vcpu(v) ) - return; - - crs[0] =3D v->arch.pv.ctrlreg[0]; - crs[2] =3D arch_get_cr2(v); - crs[3] =3D pagetable_get_paddr(kernel ? - v->arch.guest_table : - v->arch.guest_table_user); - crs[4] =3D v->arch.pv.ctrlreg[4]; - crs[5] =3D v->arch.pv.fs_base; - crs[6 + !kernel] =3D v->arch.pv.gs_base_kernel; - crs[7 - !kernel] =3D v->arch.pv.gs_base_user; + if ( is_hvm_vcpu(v) ) + { + aux_regs =3D *regs; + get_hvm_registers(v->domain->vcpu[v->vcpu_id], &aux_regs, crs); + regs =3D &aux_regs; + context =3D CTXT_hvm_guest; + } + else + { + bool kernel =3D guest_kernel_mode(v, regs); + + crs[0] =3D v->arch.pv.ctrlreg[0]; + crs[2] =3D arch_get_cr2(v); + crs[3] =3D pagetable_get_paddr(kernel ? + v->arch.guest_table : + v->arch.guest_table_user); + crs[4] =3D v->arch.pv.ctrlreg[4]; + crs[5] =3D v->arch.pv.fs_base; + crs[6 + !kernel] =3D v->arch.pv.gs_base_kernel; + crs[7 - !kernel] =3D v->arch.pv.gs_base_user; + + context =3D CTXT_pv_guest; + } =20 - _show_registers(regs, crs, CTXT_pv_guest, v); + _show_registers(regs, crs, context, v); } =20 void show_page_walk(unsigned long addr) --- a/xen/arch/x86/traps.c +++ b/xen/arch/x86/traps.c @@ -631,6 +631,12 @@ void vcpu_show_execution_state(struct vc { unsigned long flags; =20 + if ( test_bit(_VPF_down, &v->pause_flags) ) + { + printk("*** %pv is offline ***\n", v); + return; + } + printk("*** Dumping Dom%d vcpu#%d state: ***\n", v->domain->domain_id, v->vcpu_id); =20 @@ -642,6 +648,21 @@ void vcpu_show_execution_state(struct vc =20 vcpu_pause(v); /* acceptably dangerous */ =20 +#ifdef CONFIG_HVM + /* + * For VMX special care is needed: Reading some of the register state = will + * require VMCS accesses. Engaging foreign VMCSes involves acquiring o= f a + * lock, which check_lock() would object to when done from an IRQs-dis= abled + * region. Despite this being a layering violation, engage the VMCS ri= ght + * here. This then also avoids doing so several times in close success= ion. + */ + if ( cpu_has_vmx && is_hvm_vcpu(v) ) + { + ASSERT(!in_irq()); + vmx_vmcs_enter(v); + } +#endif + /* Prevent interleaving of output. */ flags =3D console_lock_recursive_irqsave(); =20 @@ -651,6 +672,11 @@ void vcpu_show_execution_state(struct vc =20 console_unlock_recursive_irqrestore(flags); =20 +#ifdef CONFIG_HVM + if ( cpu_has_vmx && is_hvm_vcpu(v) ) + vmx_vmcs_exit(v); +#endif + vcpu_unpause(v); } =20 From nobody Tue Apr 30 04:44:23 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass(p=quarantine dis=none) header.from=suse.com ARC-Seal: i=2; a=rsa-sha256; t=1630571821; cv=pass; d=zohomail.com; s=zohoarc; b=QWb8x2INu0rdMWeOCGnitVUC/EnW0n7oi9hLgrFPy/b4tBrQPkSoz7gmymH/eLHEmP/I0wMofY8z9u1TyDsQ6I2d4H6oeUq2DfotXS1HDg84IJgeJMgvOJ9lq1KQJ/DsXtsGH3Y4Vj0jaiiTSF8y9dCyWdL/fF6OOewwXQDei4c= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1630571821; 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; bh=3HFchKadupoYKtpNV3JYrysgf0xXI5YrxKsF7FnzFzY=; b=czaaw/KquLg+Gux+6ab29bkbmlkqNOvVl8CYfMgT+jmOb8mG2InN0MKSOAVlJUd9JUFL33kQQzcn0ibS1Gss06LATr8bjnLKb4JHFtPO6dZ7jnNqOyQISJxTf3nHtt/HwLv6Q7KFpbKrZcoSFOiidhLK2J11ARd+rkrHx0zULOU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; arc=pass (i=1 dmarc=pass fromdomain=suse.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1630571821933987.4994610191417; Thu, 2 Sep 2021 01:37:01 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.177170.322429 (Exim 4.92) (envelope-from ) id 1mLiCw-00026I-4y; Thu, 02 Sep 2021 08:36:26 +0000 Received: by outflank-mailman (output) from mailman id 177170.322429; Thu, 02 Sep 2021 08:36:26 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1mLiCw-00026B-1O; Thu, 02 Sep 2021 08:36:26 +0000 Received: by outflank-mailman (input) for mailman id 177170; Thu, 02 Sep 2021 08:36:24 +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.92) (envelope-from ) id 1mLiCu-000261-El for xen-devel@lists.xenproject.org; Thu, 02 Sep 2021 08:36:24 +0000 Received: from de-smtp-delivery-102.mimecast.com (unknown [194.104.109.102]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id da8f42fa-0bc8-11ec-ae48-12813bfff9fa; Thu, 02 Sep 2021 08:36:23 +0000 (UTC) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05lp2106.outbound.protection.outlook.com [104.47.18.106]) (Using TLS) by relay.mimecast.com with ESMTP id de-mta-21-h7Kl6CexN6K9du2Ae_-NoA-2; Thu, 02 Sep 2021 10:36:21 +0200 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) by VI1PR0402MB3774.eurprd04.prod.outlook.com (2603:10a6:803:1f::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Thu, 2 Sep 2021 08:36:21 +0000 Received: from VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4478.021; Thu, 2 Sep 2021 08:36:21 +0000 Received: from [10.156.60.236] (37.24.206.209) by AM0PR01CA0142.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.19 via Frontend Transport; Thu, 2 Sep 2021 08:36:20 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: da8f42fa-0bc8-11ec-ae48-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=mimecast20200619; t=1630571782; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3HFchKadupoYKtpNV3JYrysgf0xXI5YrxKsF7FnzFzY=; b=cER4fy4euTrxYJt6cNuZ4nrq7Fj7i0suLo17RUdAUdCV9ImGEH2zJUBcEM90+FiEBwC7fT 8BnIl1mrtb9eVDdXE/hs9PUyf8aMUO6BLPsYBjO1HKVUwIf/HI2xIOyCMYrNufz6q82thK FDoWmWFfgNrcjHka2EySYVtsrTOo5T8= X-MC-Unique: h7Kl6CexN6K9du2Ae_-NoA-2 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ENAuNW26oOVoUlaUGTBVtchjUH19yEzgBRSRLdxfPOPmQvDWcd0xq3ixkf3UHAZ3aDGnJmJ/stubckZ0KW7kes2Kbr1t2/A1mrLu2WBmAJIBEiFrvh5q5TQdnI8rzBn31UHP3tlbA412BHUc9c3euIFIoYU2A4ebtkh31J01+mYw1Alb9VwXGpa/QvRsjp0WBtgs6V8/3eKzRXTUDuhUtwseJSCUQ15ndw2OqEBtpa1m1qS+iaXaANK/4H70ZBOeK2+ysQs/DM+s+q+EeSDQjgnbEDPQvnzpdA9LaohrwHUp3pQHm7bSarx3ZIVzm/7uWjEtWUlMIO2rz/DNx3moFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3HFchKadupoYKtpNV3JYrysgf0xXI5YrxKsF7FnzFzY=; b=HnwuMz2pbxBhJcat1k1iXydYwGElHcWwFXQ14FJnWWm601UzLOYzOEWI0Rx6fFj83kKn4wyfkdLYjE/R+Nie3d4wufAIyV2+wnoaY4WhrT0CHBbs0cyxVQm7SqTa//e1VHygXC7Fv66mTz0rWFctK578yXqPXcaQ/p0ZFxTLdoisjDGcw74KlYDiuTxQqub1St2fz3aJDV8Oc9ESN7abL2TRzu6bDReeWtDYxQH/EbWHrkhPgqHVf5pmLxOKDFJSdVo9ahubKYTGKkoHbOJ9f9QEHKM6eABCn8FHlRm8i48YIuLjZUhQ8KNdpTghrmQ4hSgBtDYetEFbCV0BzzsbzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=suse.com; Subject: [PATCH v2 6/6] x86/HVM: skip offline vCPU-s when dumping VMCBs/VMCSes From: Jan Beulich To: "xen-devel@lists.xenproject.org" Cc: Andrew Cooper , Kevin Tian , Jun Nakajima References: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Message-ID: <332739d2-be0d-fe8f-9ae7-a34916f4eab6@suse.com> Date: Thu, 2 Sep 2021 10:36:19 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 In-Reply-To: <5972ce4c-bdb0-6d07-afad-cf4dd5615488@suse.com> Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: AM0PR01CA0142.eurprd01.prod.exchangelabs.com (2603:10a6:208:168::47) To VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0668c48c-5c43-402a-9a7e-08d96decbda0 X-MS-TrafficTypeDiagnostic: VI1PR0402MB3774: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:457; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5rBBEvOhR7faCZjTzNU50BXFN68nDasGZ3jlg0KO6SjhlL5TykJJbwZB/CyohboKMnUO/nslnlgub068PBCWIWWfI40fKCO+T+Hr52k6a+wjRni+zPWhUhLIN3zP83pOCGUYLBpYM6OCKTXYfSxLPSVaMgcZlX47JKARUJ6hpgEnXq5soW+PcBKtKEA9I6J9QbgW/ZJd8RIoYUOEIdPWu1yG/qF7hpRCPK8mXJFi3FXBUTZ2rAn0ZP8ju0bJfWS/4+4bbhhzEtk2/QzbjrpRBIfPeHBb0OXTZ1yCJxPTUKfQwIkAav2ZoglzjfSgDoji4pvxcT9vc4sBl/3u8Rizq8go2OSyHS8tIs4TklTnZwkkFFoplyM8336FYhoTDsaZSpyYYssi/Bl7fMBNzxKM6GYGxVNufb8qFPD1HWd+m/IzOCkFtsezeKE54oIHod2A0kna6EpLJAv2VZEEtz8TCKmdcvPxauwc5RSHXwAU1jiFB9LISvyeUN4aYBS/GI4aCbmRXpsfu6zVZGZPnRGuVsXe+rPX/fkZhxs+Ywx/u8zHcsWzxSRd2CvdqyYToZswGxZqUWlAO6t0wS4w5+3RMGF1wPC863rcd/3RzDEfqzNEcXM4t5RL+kE8Z20IA0EYYsCIY1M7kBbelcH/jGRhDfEdpgtgpO1MUCxX000bUFWilely20YKIIo5t7buSxaixk5n/VDHUFsSUYEEH4NdLA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5600.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(346002)(366004)(396003)(39860400002)(376002)(36756003)(956004)(54906003)(6486002)(6916009)(478600001)(16576012)(38100700002)(66946007)(4326008)(316002)(66556008)(2906002)(26005)(66476007)(86362001)(31696002)(186003)(8676002)(8936002)(31686004)(2616005)(5660300002)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?djZHK21UVmVpaEFnQUFyeWxLMDVaVG84RDRkOThWUFhpdGdaZGhWaWFFWjFj?= =?utf-8?B?Qi9NaWpOdysvTkVuVE1VTnBJWDNxdEErNnowSnlycnZWZTBUSEdwUWxjcFg4?= =?utf-8?B?NWJJTTBiRnFzdmh3OU82VzZHeXpoQ3BKK3ZWMk80cTJWcGdaeEdyUWZXTnhp?= =?utf-8?B?bTAxNGtsa3dVbUg4a3dTWExzUVJuT29xVk5lK0wyUnQ3TThJWEhWUFhnTldp?= =?utf-8?B?emtOWnRBaDRDOHpvK0VSN1I2VjhYVC9HN1lzUE1FMU1XU3lQdDNwNzBDcldr?= =?utf-8?B?WDRKZDFqSG1TZk9rdmxqSmY3UXo2VHhKRG9VY0MwMXJraWhqbGdMOGhJNnFn?= =?utf-8?B?SCtJYVVmYm1tYStUSzJMQWp4NFNDc2dtUkRjTEVYb01YOVJ5dmdwYXFoVGVD?= =?utf-8?B?YnkybnZaZnUweUdTaWxHMSt2MEo0OHhsSmF6dkpONlpzTWlFTmoxd09IeVRt?= =?utf-8?B?R21aV29jT3VuMUYyOHhPMVdqL3RqTWF0MlVLcjd4WDE3LzR3Wm5kK1RVd1RP?= =?utf-8?B?aFJkUkorU1kxWEpFTkxUOXVaZ2ZGekd3amZhWlpZZGRpVk5ObGdBSUZFbEdK?= =?utf-8?B?NG52SW5CeEZ4MFAyRjBNVlhFWXUrcTN6OGlNYzZyVnZCcjVnWENDUk95VjlX?= =?utf-8?B?MTJwejQwN0gyY0dEMUF2S3o0dmtGZDZkQVJKRmF2MEU5WkErZUpwd0JiUmRX?= =?utf-8?B?b2JEVUNKSW1tMy91NE16VTVvQ1RYdXhWRFVrZ05CVE5NT0RYOXpaSGV0YWVs?= =?utf-8?B?eGJnMjkvcmRWTEpkaHdNM2tUVkdIcE54RHlMV2hwV3pjU2x6NXFsSDhnMnZ6?= =?utf-8?B?S0pZc3BMNm85L2xPdWgwMi9ERlVjbjFteUtHaVFERkNiSDJXUXVXbzBla1BR?= =?utf-8?B?V2xzQmJyRVlhbEkvdEtuVXpaQlo3YmZCV2RmWEpERllzKzFNTDZNT0lNSFJL?= =?utf-8?B?Y1VDcmYvdml6cmpmenVxbk9CdytCcVo4QmRxNDZ5aEhDWVRsTS9Ed0M4TENH?= =?utf-8?B?MXBvSXU5R2VURkliaEVXYmFoaStrbnRzY2VqcWNiV1FRS2lwM3VUTlFlT0dn?= =?utf-8?B?T3cxSjN1YUY3RFRrZGJqcGVEeVozdGpObUFybVFpWDBqcWFjeThrT1Nqb3U0?= =?utf-8?B?YmxZTWZWV2JWWmVLUTB6c1VQQWIrdkpMOHVjajdPUHcxa3RaRFVTdFkxcnpF?= =?utf-8?B?Qk9tSEdhNWtuNXFiQWJlWmF1c0ZVWXlIZmVLa2E5bkFMajRNNHVGSys1Tzd1?= =?utf-8?B?M2xzdUFsWnV4Wk5MbGx3SktBbEFtK3lDZGUzcldmSXlic3JKeEl2NUZqMWgy?= =?utf-8?B?TkJvaEswZ285bUgzSUdNZTlkVHVVbGpSazZTampXbU1VeHF4N0ZFaTFnek1h?= =?utf-8?B?MzY4WWNiQm80LzlqUlh0OFk5LzVUN0E3bWF3WTFyTGFWeGszcE9TWVlkL2Za?= =?utf-8?B?akR2d1B2VXkxL2dld3EvUUJTbnBOL25VN2JRUW0rd3FtcXRWZW1BMnN2dzJU?= =?utf-8?B?c054YnBZRHdpN2g4dVZ5SFN1dDM2YjdMUFFWQ05mNXVqMU9YYVVaMFhhVi9o?= =?utf-8?B?QzFTSm9OODBsYUdnUnUwNXdvZW5ZTVlLTC9RWlBtdDkxNjJmTVQwcjRrOVhi?= =?utf-8?B?N1A4YkVNQ01aMGhvNE9tYjZxWk5tWjA4dXdmRUlETmowM3ArVWx3NTBRL0Er?= =?utf-8?B?UTQwQ29nZS9sVEYrd0JWa0NoWmZZTlg3S3BFYVpSTEFQRk80Rm9ybVdoMEJw?= =?utf-8?Q?ZtMhKvRL5RZit2oyUbt/l6ZZuqpE+JCOUVyH10q?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0668c48c-5c43-402a-9a7e-08d96decbda0 X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Sep 2021 08:36:21.1863 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Z3HeDrcO2NcmV0MsIdjnSmiC5l8AtPoOEBrEOyMQ3ojFJN/4VbgudW6OEh1AzWG99uZsTyJYiJ/ri9Ylqqyy/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3774 X-ZohoMail-DKIM: pass (identity @suse.com) X-ZM-MESSAGEID: 1630571823054100001 Content-Type: text/plain; charset="utf-8" There's not really any register state associated with offline vCPU-s, so avoid spamming the log with largely useless information while still leaving an indication of the fact. Signed-off-by: Jan Beulich --- v2: New. --- a/xen/arch/x86/hvm/svm/vmcb.c +++ b/xen/arch/x86/hvm/svm/vmcb.c @@ -241,6 +241,11 @@ static void vmcb_dump(unsigned char ch) printk("\n>>> Domain %d <<<\n", d->domain_id); for_each_vcpu ( d, v ) { + if ( test_bit(_VPF_down, &v->pause_flags) ) + { + printk("\tVCPU %u: offline\n", v->vcpu_id); + continue; + } printk("\tVCPU %d\n", v->vcpu_id); svm_vmcb_dump("key_handler", v->arch.hvm.svm.vmcb); } --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -2133,6 +2133,11 @@ static void vmcs_dump(unsigned char ch) printk("\n>>> Domain %d <<<\n", d->domain_id); for_each_vcpu ( d, v ) { + if ( test_bit(_VPF_down, &v->pause_flags) ) + { + printk("\tVCPU %u: offline\n", v->vcpu_id); + continue; + } printk("\tVCPU %d\n", v->vcpu_id); vmcs_dump_vcpu(v); }